{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              9,
              19
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 19
              }
            }
          },
          "range": [
            9,
            19
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subscriber",
        "raw": "'../Subscriber'",
        "range": [
          27,
          42
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 27
          },
          "end": {
            "line": 1,
            "column": 42
          }
        }
      },
      "range": [
        0,
        43
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscription",
            "range": [
              53,
              65
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 21
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscription",
            "range": [
              53,
              65
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 21
              }
            }
          },
          "range": [
            53,
            65
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 21
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subscription",
        "raw": "'../Subscription'",
        "range": [
          73,
          90
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 29
          },
          "end": {
            "line": 2,
            "column": 46
          }
        }
      },
      "range": [
        44,
        91
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 47
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Observable",
            "range": [
              101,
              111
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Observable",
            "range": [
              101,
              111
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "range": [
            101,
            111
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Observable",
        "raw": "'../Observable'",
        "range": [
          119,
          134
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 27
          },
          "end": {
            "line": 3,
            "column": 42
          }
        }
      },
      "range": [
        92,
        135
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subject",
            "range": [
              145,
              152
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 16
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subject",
            "range": [
              145,
              152
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 16
              }
            }
          },
          "range": [
            145,
            152
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 16
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subject",
        "raw": "'../Subject'",
        "range": [
          160,
          172
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 24
          },
          "end": {
            "line": 4,
            "column": 36
          }
        }
      },
      "range": [
        136,
        173
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 37
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Map",
            "range": [
              183,
              186
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 12
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Map",
            "range": [
              183,
              186
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 12
              }
            }
          },
          "range": [
            183,
            186
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 9
            },
            "end": {
              "line": 5,
              "column": 12
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/Map",
        "raw": "'../util/Map'",
        "range": [
          194,
          207
        ],
        "loc": {
          "start": {
            "line": 5,
            "column": 20
          },
          "end": {
            "line": 5,
            "column": 33
          }
        }
      },
      "range": [
        174,
        208
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 34
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "FastMap",
            "range": [
              218,
              225
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 16
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "FastMap",
            "range": [
              218,
              225
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 16
              }
            }
          },
          "range": [
            218,
            225
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 9
            },
            "end": {
              "line": 6,
              "column": 16
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/FastMap",
        "raw": "'../util/FastMap'",
        "range": [
          233,
          250
        ],
        "loc": {
          "start": {
            "line": 6,
            "column": 24
          },
          "end": {
            "line": 6,
            "column": 41
          }
        }
      },
      "range": [
        209,
        251
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 42
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            252,
            288
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 7,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "groupBy",
          "range": [
            305,
            312
          ],
          "loc": {
            "start": {
              "line": 8,
              "column": 16
            },
            "end": {
              "line": 8,
              "column": 23
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "keySelector",
            "range": [
              313,
              324
            ],
            "loc": {
              "start": {
                "line": 8,
                "column": 24
              },
              "end": {
                "line": 8,
                "column": 35
              }
            }
          },
          {
            "type": "Identifier",
            "name": "elementSelector",
            "range": [
              326,
              341
            ],
            "loc": {
              "start": {
                "line": 8,
                "column": 37
              },
              "end": {
                "line": 8,
                "column": 52
              }
            }
          },
          {
            "type": "Identifier",
            "name": "durationSelector",
            "range": [
              343,
              359
            ],
            "loc": {
              "start": {
                "line": 8,
                "column": 54
              },
              "end": {
                "line": 8,
                "column": 70
              }
            }
          },
          {
            "type": "Identifier",
            "name": "subjectSelector",
            "range": [
              361,
              376
            ],
            "loc": {
              "start": {
                "line": 8,
                "column": 72
              },
              "end": {
                "line": 8,
                "column": 87
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      391,
                      395
                    ],
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 11
                      },
                      "end": {
                        "line": 9,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      396,
                      400
                    ],
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 16
                      },
                      "end": {
                        "line": 9,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    391,
                    400
                  ],
                  "loc": {
                    "start": {
                      "line": 9,
                      "column": 11
                    },
                    "end": {
                      "line": 9,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "GroupByOperator",
                      "range": [
                        405,
                        420
                      ],
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 25
                        },
                        "end": {
                          "line": 9,
                          "column": 40
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "keySelector",
                        "range": [
                          421,
                          432
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 41
                          },
                          "end": {
                            "line": 9,
                            "column": 52
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "elementSelector",
                        "range": [
                          434,
                          449
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 54
                          },
                          "end": {
                            "line": 9,
                            "column": 69
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "durationSelector",
                        "range": [
                          451,
                          467
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 71
                          },
                          "end": {
                            "line": 9,
                            "column": 87
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "subjectSelector",
                        "range": [
                          469,
                          484
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 89
                          },
                          "end": {
                            "line": 9,
                            "column": 104
                          }
                        }
                      }
                    ],
                    "range": [
                      401,
                      485
                    ],
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 21
                      },
                      "end": {
                        "line": 9,
                        "column": 105
                      }
                    }
                  }
                ],
                "range": [
                  391,
                  486
                ],
                "loc": {
                  "start": {
                    "line": 9,
                    "column": 11
                  },
                  "end": {
                    "line": 9,
                    "column": 106
                  }
                }
              },
              "range": [
                384,
                487
              ],
              "loc": {
                "start": {
                  "line": 9,
                  "column": 4
                },
                "end": {
                  "line": 9,
                  "column": 107
                }
              }
            }
          ],
          "range": [
            378,
            489
          ],
          "loc": {
            "start": {
              "line": 8,
              "column": 89
            },
            "end": {
              "line": 10,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          296,
          489
        ],
        "loc": {
          "start": {
            "line": 8,
            "column": 7
          },
          "end": {
            "line": 10,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": " tslint:disable:max-line-length ",
            "range": [
              252,
              288
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 7,
                "column": 36
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        289,
        489
      ],
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": " tslint:disable:max-line-length ",
          "range": [
            252,
            288
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 7,
              "column": 36
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "GroupByOperator",
            "range": [
              494,
              509
            ],
            "loc": {
              "start": {
                "line": 11,
                "column": 4
              },
              "end": {
                "line": 11,
                "column": 19
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "GroupByOperator",
                      "range": [
                        540,
                        555
                      ],
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 13
                        },
                        "end": {
                          "line": 12,
                          "column": 28
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "keySelector",
                        "range": [
                          556,
                          567
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 29
                          },
                          "end": {
                            "line": 12,
                            "column": 40
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "elementSelector",
                        "range": [
                          569,
                          584
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 42
                          },
                          "end": {
                            "line": 12,
                            "column": 57
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "durationSelector",
                        "range": [
                          586,
                          602
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 59
                          },
                          "end": {
                            "line": 12,
                            "column": 75
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "subjectSelector",
                        "range": [
                          604,
                          619
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 77
                          },
                          "end": {
                            "line": 12,
                            "column": 92
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  631,
                                  635
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "keySelector",
                                "range": [
                                  636,
                                  647
                                ],
                                "loc": {
                                  "start": {
                                    "line": 13,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 13,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                631,
                                647
                              ],
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 8
                                },
                                "end": {
                                  "line": 13,
                                  "column": 24
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "keySelector",
                              "range": [
                                650,
                                661
                              ],
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 27
                                },
                                "end": {
                                  "line": 13,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              631,
                              661
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            631,
                            662
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  671,
                                  675
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "elementSelector",
                                "range": [
                                  676,
                                  691
                                ],
                                "loc": {
                                  "start": {
                                    "line": 14,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 14,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                671,
                                691
                              ],
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 8
                                },
                                "end": {
                                  "line": 14,
                                  "column": 28
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "elementSelector",
                              "range": [
                                694,
                                709
                              ],
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 31
                                },
                                "end": {
                                  "line": 14,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              671,
                              709
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            671,
                            710
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 47
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  719,
                                  723
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "durationSelector",
                                "range": [
                                  724,
                                  740
                                ],
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 29
                                  }
                                }
                              },
                              "range": [
                                719,
                                740
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 8
                                },
                                "end": {
                                  "line": 15,
                                  "column": 29
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "durationSelector",
                              "range": [
                                743,
                                759
                              ],
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 32
                                },
                                "end": {
                                  "line": 15,
                                  "column": 48
                                }
                              }
                            },
                            "range": [
                              719,
                              759
                            ],
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 8
                              },
                              "end": {
                                "line": 15,
                                "column": 48
                              }
                            }
                          },
                          "range": [
                            719,
                            760
                          ],
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 15,
                              "column": 49
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  769,
                                  773
                                ],
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "subjectSelector",
                                "range": [
                                  774,
                                  789
                                ],
                                "loc": {
                                  "start": {
                                    "line": 16,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 16,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                769,
                                789
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 8
                                },
                                "end": {
                                  "line": 16,
                                  "column": 28
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "subjectSelector",
                              "range": [
                                792,
                                807
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 31
                                },
                                "end": {
                                  "line": 16,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              769,
                              807
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 8
                              },
                              "end": {
                                "line": 16,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            769,
                            808
                          ],
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 8
                            },
                            "end": {
                              "line": 16,
                              "column": 47
                            }
                          }
                        }
                      ],
                      "range": [
                        621,
                        814
                      ],
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 94
                        },
                        "end": {
                          "line": 17,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      531,
                      814
                    ],
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 4
                      },
                      "end": {
                        "line": 17,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupByOperator",
                            "range": [
                              819,
                              834
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 4
                              },
                              "end": {
                                "line": 18,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              835,
                              844
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 20
                              },
                              "end": {
                                "line": 18,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            819,
                            844
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            845,
                            849
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 30
                            },
                            "end": {
                              "line": 18,
                              "column": 34
                            }
                          }
                        },
                        "range": [
                          819,
                          849
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 34
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              862,
                              872
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 47
                              },
                              "end": {
                                "line": 18,
                                "column": 57
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              874,
                              880
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 59
                              },
                              "end": {
                                "line": 18,
                                "column": 65
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      899,
                                      905
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      906,
                                      916
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    899,
                                    916
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "GroupBySubscriber",
                                      "range": [
                                        921,
                                        938
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          939,
                                          949
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 65
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            951,
                                            955
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 71
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "keySelector",
                                          "range": [
                                            956,
                                            967
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 83
                                            }
                                          }
                                        },
                                        "range": [
                                          951,
                                          967
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 83
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            969,
                                            973
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 85
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 89
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "elementSelector",
                                          "range": [
                                            974,
                                            989
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 90
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 105
                                            }
                                          }
                                        },
                                        "range": [
                                          969,
                                          989
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 105
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            991,
                                            995
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 107
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 111
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "durationSelector",
                                          "range": [
                                            996,
                                            1012
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 112
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 128
                                            }
                                          }
                                        },
                                        "range": [
                                          991,
                                          1012
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 107
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 128
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1014,
                                            1018
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 130
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 134
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "subjectSelector",
                                          "range": [
                                            1019,
                                            1034
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 135
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 150
                                            }
                                          }
                                        },
                                        "range": [
                                          1014,
                                          1034
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 130
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 150
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      917,
                                      1035
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 151
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  899,
                                  1036
                                ],
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 152
                                  }
                                }
                              },
                              "range": [
                                892,
                                1037
                              ],
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 8
                                },
                                "end": {
                                  "line": 19,
                                  "column": 153
                                }
                              }
                            }
                          ],
                          "range": [
                            882,
                            1043
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 67
                            },
                            "end": {
                              "line": 20,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          852,
                          1043
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 37
                          },
                          "end": {
                            "line": 20,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        819,
                        1043
                      ],
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      819,
                      1044
                    ],
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 4
                      },
                      "end": {
                        "line": 20,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "GroupByOperator",
                      "range": [
                        1056,
                        1071
                      ],
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 11
                        },
                        "end": {
                          "line": 21,
                          "column": 26
                        }
                      }
                    },
                    "range": [
                      1049,
                      1072
                    ],
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 4
                      },
                      "end": {
                        "line": 21,
                        "column": 27
                      }
                    }
                  }
                ],
                "range": [
                  525,
                  1074
                ],
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 35
                  },
                  "end": {
                    "line": 22,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                513,
                1074
              ],
              "loc": {
                "start": {
                  "line": 11,
                  "column": 23
                },
                "end": {
                  "line": 22,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              513,
              1076
            ],
            "loc": {
              "start": {
                "line": 11,
                "column": 23
              },
              "end": {
                "line": 22,
                "column": 3
              }
            }
          },
          "range": [
            494,
            1077
          ],
          "loc": {
            "start": {
              "line": 11,
              "column": 4
            },
            "end": {
              "line": 22,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        490,
        1078
      ],
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 22,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1079,
            1170
          ],
          "loc": {
            "start": {
              "line": 23,
              "column": 0
            },
            "end": {
              "line": 27,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "GroupBySubscriber",
            "range": [
              1175,
              1192
            ],
            "loc": {
              "start": {
                "line": 28,
                "column": 4
              },
              "end": {
                "line": 28,
                "column": 21
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    1206,
                    1212
                  ],
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 35
                    },
                    "end": {
                      "line": 28,
                      "column": 41
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          1220,
                          1229
                        ],
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 4
                          },
                          "end": {
                            "line": 29,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "GroupBySubscriber",
                          "range": [
                            1230,
                            1247
                          ],
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 14
                            },
                            "end": {
                              "line": 29,
                              "column": 31
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            1249,
                            1255
                          ],
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 33
                            },
                            "end": {
                              "line": 29,
                              "column": 39
                            }
                          }
                        }
                      ],
                      "range": [
                        1220,
                        1256
                      ],
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 4
                        },
                        "end": {
                          "line": 29,
                          "column": 40
                        }
                      }
                    },
                    "range": [
                      1220,
                      1257
                    ],
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 4
                      },
                      "end": {
                        "line": 29,
                        "column": 41
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "GroupBySubscriber",
                      "range": [
                        1271,
                        1288
                      ],
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 13
                        },
                        "end": {
                          "line": 30,
                          "column": 30
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          1289,
                          1300
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 31
                          },
                          "end": {
                            "line": 30,
                            "column": 42
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "keySelector",
                        "range": [
                          1302,
                          1313
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 44
                          },
                          "end": {
                            "line": 30,
                            "column": 55
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "elementSelector",
                        "range": [
                          1315,
                          1330
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 57
                          },
                          "end": {
                            "line": 30,
                            "column": 72
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "durationSelector",
                        "range": [
                          1332,
                          1348
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 74
                          },
                          "end": {
                            "line": 30,
                            "column": 90
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "subjectSelector",
                        "range": [
                          1350,
                          1365
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 92
                          },
                          "end": {
                            "line": 30,
                            "column": 107
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  1377,
                                  1383
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  1384,
                                  1388
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1377,
                                1388
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 8
                                },
                                "end": {
                                  "line": 31,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  1389,
                                  1393
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  1395,
                                  1406
                                ],
                                "loc": {
                                  "start": {
                                    "line": 31,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 31,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              1377,
                              1407
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 8
                              },
                              "end": {
                                "line": 31,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1377,
                            1408
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 8
                            },
                            "end": {
                              "line": 31,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1417,
                                  1421
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "keySelector",
                                "range": [
                                  1422,
                                  1433
                                ],
                                "loc": {
                                  "start": {
                                    "line": 32,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 32,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                1417,
                                1433
                              ],
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 8
                                },
                                "end": {
                                  "line": 32,
                                  "column": 24
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "keySelector",
                              "range": [
                                1436,
                                1447
                              ],
                              "loc": {
                                "start": {
                                  "line": 32,
                                  "column": 27
                                },
                                "end": {
                                  "line": 32,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              1417,
                              1447
                            ],
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 8
                              },
                              "end": {
                                "line": 32,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1417,
                            1448
                          ],
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 8
                            },
                            "end": {
                              "line": 32,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1457,
                                  1461
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "elementSelector",
                                "range": [
                                  1462,
                                  1477
                                ],
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                1457,
                                1477
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 8
                                },
                                "end": {
                                  "line": 33,
                                  "column": 28
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "elementSelector",
                              "range": [
                                1480,
                                1495
                              ],
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 31
                                },
                                "end": {
                                  "line": 33,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              1457,
                              1495
                            ],
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            1457,
                            1496
                          ],
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 47
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1505,
                                  1509
                                ],
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "durationSelector",
                                "range": [
                                  1510,
                                  1526
                                ],
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 29
                                  }
                                }
                              },
                              "range": [
                                1505,
                                1526
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 8
                                },
                                "end": {
                                  "line": 34,
                                  "column": 29
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "durationSelector",
                              "range": [
                                1529,
                                1545
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 32
                                },
                                "end": {
                                  "line": 34,
                                  "column": 48
                                }
                              }
                            },
                            "range": [
                              1505,
                              1545
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 48
                              }
                            }
                          },
                          "range": [
                            1505,
                            1546
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 49
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1555,
                                  1559
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "subjectSelector",
                                "range": [
                                  1560,
                                  1575
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                1555,
                                1575
                              ],
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 8
                                },
                                "end": {
                                  "line": 35,
                                  "column": 28
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "subjectSelector",
                              "range": [
                                1578,
                                1593
                              ],
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 31
                                },
                                "end": {
                                  "line": 35,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              1555,
                              1593
                            ],
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            1555,
                            1594
                          ],
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 47
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1603,
                                  1607
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "groups",
                                "range": [
                                  1608,
                                  1614
                                ],
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1603,
                                1614
                              ],
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 8
                                },
                                "end": {
                                  "line": 36,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": null,
                              "raw": "null",
                              "range": [
                                1617,
                                1621
                              ],
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 22
                                },
                                "end": {
                                  "line": 36,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              1603,
                              1621
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            1603,
                            1622
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 8
                            },
                            "end": {
                              "line": 36,
                              "column": 27
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1631,
                                  1635
                                ],
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "attemptedToUnsubscribe",
                                "range": [
                                  1636,
                                  1658
                                ],
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                1631,
                                1658
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 8
                                },
                                "end": {
                                  "line": 37,
                                  "column": 35
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": false,
                              "raw": "false",
                              "range": [
                                1661,
                                1666
                              ],
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 38
                                },
                                "end": {
                                  "line": 37,
                                  "column": 43
                                }
                              }
                            },
                            "range": [
                              1631,
                              1666
                            ],
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 8
                              },
                              "end": {
                                "line": 37,
                                "column": 43
                              }
                            }
                          },
                          "range": [
                            1631,
                            1667
                          ],
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 8
                            },
                            "end": {
                              "line": 37,
                              "column": 44
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1676,
                                  1680
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "count",
                                "range": [
                                  1681,
                                  1686
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                1676,
                                1686
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 8
                                },
                                "end": {
                                  "line": 38,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                1689,
                                1690
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 21
                                },
                                "end": {
                                  "line": 38,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              1676,
                              1690
                            ],
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 8
                              },
                              "end": {
                                "line": 38,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            1676,
                            1691
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 23
                            }
                          }
                        }
                      ],
                      "range": [
                        1367,
                        1697
                      ],
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 109
                        },
                        "end": {
                          "line": 39,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      1262,
                      1697
                    ],
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 4
                      },
                      "end": {
                        "line": 39,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupBySubscriber",
                            "range": [
                              1702,
                              1719
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 4
                              },
                              "end": {
                                "line": 40,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1720,
                              1729
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 22
                              },
                              "end": {
                                "line": 40,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            1702,
                            1729
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 4
                            },
                            "end": {
                              "line": 40,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            1730,
                            1735
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 32
                            },
                            "end": {
                              "line": 40,
                              "column": 37
                            }
                          }
                        },
                        "range": [
                          1702,
                          1735
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 40,
                            "column": 37
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              1748,
                              1753
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 50
                              },
                              "end": {
                                "line": 40,
                                "column": 55
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "key",
                                    "range": [
                                      1769,
                                      1772
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 41,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 41,
                                        "column": 15
                                      }
                                    }
                                  },
                                  "init": null,
                                  "range": [
                                    1769,
                                    1772
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 15
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                1765,
                                1773
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 8
                                },
                                "end": {
                                  "line": 41,
                                  "column": 16
                                }
                              }
                            },
                            {
                              "type": "TryStatement",
                              "block": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "key",
                                        "range": [
                                          1800,
                                          1803
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 43,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 43,
                                            "column": 15
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              1806,
                                              1810
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 43,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 43,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "keySelector",
                                            "range": [
                                              1811,
                                              1822
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 43,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 43,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "range": [
                                            1806,
                                            1822
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 43,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 43,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "value",
                                            "range": [
                                              1823,
                                              1828
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 43,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 43,
                                                "column": 40
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1806,
                                          1829
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 43,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 43,
                                            "column": 41
                                          }
                                        }
                                      },
                                      "range": [
                                        1800,
                                        1829
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "range": [
                                      1800,
                                      1830
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 42
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1786,
                                  1840
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 9
                                  }
                                }
                              },
                              "handler": {
                                "type": "CatchClause",
                                "param": {
                                  "type": "Identifier",
                                  "name": "err",
                                  "range": [
                                    1856,
                                    1859
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 45,
                                      "column": 18
                                    }
                                  }
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              1875,
                                              1879
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "error",
                                            "range": [
                                              1880,
                                              1885
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "range": [
                                            1875,
                                            1885
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 46,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 46,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "err",
                                            "range": [
                                              1886,
                                              1889
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 26
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1875,
                                          1890
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 46,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 46,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "range": [
                                        1875,
                                        1891
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 46,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 46,
                                          "column": 28
                                        }
                                      }
                                    },
                                    {
                                      "type": "ReturnStatement",
                                      "argument": null,
                                      "range": [
                                        1904,
                                        1911
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 19
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1861,
                                    1921
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  1849,
                                  1921
                                ],
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 9
                                  }
                                }
                              },
                              "finalizer": null,
                              "range": [
                                1782,
                                1921
                              ],
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 8
                                },
                                "end": {
                                  "line": 48,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      1930,
                                      1934
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_group",
                                    "range": [
                                      1935,
                                      1941
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "range": [
                                    1930,
                                    1941
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 19
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "value",
                                    "range": [
                                      1942,
                                      1947
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 25
                                      }
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "name": "key",
                                    "range": [
                                      1949,
                                      1952
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 30
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1930,
                                  1953
                                ],
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                1930,
                                1954
                              ],
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 8
                                },
                                "end": {
                                  "line": 49,
                                  "column": 32
                                }
                              }
                            }
                          ],
                          "range": [
                            1755,
                            1960
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 57
                            },
                            "end": {
                              "line": 50,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1738,
                          1960
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 40
                          },
                          "end": {
                            "line": 50,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1702,
                        1960
                      ],
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 50,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1702,
                      1961
                    ],
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 50,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupBySubscriber",
                            "range": [
                              1966,
                              1983
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 4
                              },
                              "end": {
                                "line": 51,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1984,
                              1993
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 22
                              },
                              "end": {
                                "line": 51,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            1966,
                            1993
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 4
                            },
                            "end": {
                              "line": 51,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_group",
                          "range": [
                            1994,
                            2000
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 32
                            },
                            "end": {
                              "line": 51,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          1966,
                          2000
                        ],
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 4
                          },
                          "end": {
                            "line": 51,
                            "column": 38
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2013,
                              2018
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 51
                              },
                              "end": {
                                "line": 51,
                                "column": 56
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "key",
                            "range": [
                              2020,
                              2023
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 58
                              },
                              "end": {
                                "line": 51,
                                "column": 61
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "groups",
                                    "range": [
                                      2039,
                                      2045
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2048,
                                        2052
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "groups",
                                      "range": [
                                        2053,
                                        2059
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      2048,
                                      2059
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    2039,
                                    2059
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 32
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2035,
                                2060
                              ],
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 8
                                },
                                "end": {
                                  "line": 52,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "groups",
                                  "range": [
                                    2074,
                                    2080
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 19
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  2073,
                                  2080
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 19
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "groups",
                                        "range": [
                                          2096,
                                          2102
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2105,
                                              2109
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "groups",
                                            "range": [
                                              2110,
                                              2116
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 32
                                              }
                                            }
                                          },
                                          "range": [
                                            2105,
                                            2116
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 54,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 54,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "ConditionalExpression",
                                          "test": {
                                            "type": "BinaryExpression",
                                            "operator": "===",
                                            "left": {
                                              "type": "UnaryExpression",
                                              "operator": "typeof",
                                              "argument": {
                                                "type": "Identifier",
                                                "name": "key",
                                                "range": [
                                                  2126,
                                                  2129
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 54,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 54,
                                                    "column": 45
                                                  }
                                                }
                                              },
                                              "prefix": true,
                                              "range": [
                                                2119,
                                                2129
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 54,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 54,
                                                  "column": 45
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "Literal",
                                              "value": "string",
                                              "raw": "'string'",
                                              "range": [
                                                2134,
                                                2142
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 54,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 54,
                                                  "column": 58
                                                }
                                              }
                                            },
                                            "range": [
                                              2119,
                                              2142
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "NewExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "FastMap",
                                              "range": [
                                                2149,
                                                2156
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 54,
                                                  "column": 65
                                                },
                                                "end": {
                                                  "line": 54,
                                                  "column": 72
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              2145,
                                              2158
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 74
                                              }
                                            }
                                          },
                                          "alternate": {
                                            "type": "NewExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "Map",
                                              "range": [
                                                2165,
                                                2168
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 54,
                                                  "column": 81
                                                },
                                                "end": {
                                                  "line": 54,
                                                  "column": 84
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              2161,
                                              2170
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 77
                                              },
                                              "end": {
                                                "line": 54,
                                                "column": 86
                                              }
                                            }
                                          },
                                          "range": [
                                            2119,
                                            2170
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 54,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 54,
                                              "column": 86
                                            }
                                          }
                                        },
                                        "range": [
                                          2105,
                                          2170
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 54,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 54,
                                            "column": 86
                                          }
                                        }
                                      },
                                      "range": [
                                        2096,
                                        2170
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 54,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 54,
                                          "column": 86
                                        }
                                      }
                                    },
                                    "range": [
                                      2096,
                                      2171
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 54,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 54,
                                        "column": 87
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2082,
                                  2181
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                2069,
                                2181
                              ],
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 8
                                },
                                "end": {
                                  "line": 55,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "group",
                                    "range": [
                                      2194,
                                      2199
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "groups",
                                        "range": [
                                          2202,
                                          2208
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "get",
                                        "range": [
                                          2209,
                                          2212
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "range": [
                                        2202,
                                        2212
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 56,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "key",
                                        "range": [
                                          2213,
                                          2216
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 56,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 34
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2202,
                                      2217
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "range": [
                                    2194,
                                    2217
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 35
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2190,
                                2218
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 8
                                },
                                "end": {
                                  "line": 56,
                                  "column": 36
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "element",
                                    "range": [
                                      2231,
                                      2238
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "init": null,
                                  "range": [
                                    2231,
                                    2238
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 19
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2227,
                                2239
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 8
                                },
                                "end": {
                                  "line": 57,
                                  "column": 20
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    2252,
                                    2256
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "elementSelector",
                                  "range": [
                                    2257,
                                    2272
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 32
                                    }
                                  }
                                },
                                "range": [
                                  2252,
                                  2272
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 32
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "TryStatement",
                                    "block": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "name": "element",
                                              "range": [
                                                2310,
                                                2317
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 23
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    2320,
                                                    2324
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 30
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "elementSelector",
                                                  "range": [
                                                    2325,
                                                    2340
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 46
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2320,
                                                  2340
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 46
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "value",
                                                  "range": [
                                                    2341,
                                                    2346
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 60,
                                                      "column": 47
                                                    },
                                                    "end": {
                                                      "line": 60,
                                                      "column": 52
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2320,
                                                2347
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 53
                                                }
                                              }
                                            },
                                            "range": [
                                              2310,
                                              2347
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 60,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 60,
                                                "column": 53
                                              }
                                            }
                                          },
                                          "range": [
                                            2310,
                                            2348
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 54
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2292,
                                        2362
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "handler": {
                                      "type": "CatchClause",
                                      "param": {
                                        "type": "Identifier",
                                        "name": "err",
                                        "range": [
                                          2382,
                                          2385
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "body": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "expression": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    2405,
                                                    2409
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 63,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 63,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "error",
                                                  "range": [
                                                    2410,
                                                    2415
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 63,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 63,
                                                      "column": 26
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2405,
                                                  2415
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 63,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 63,
                                                    "column": 26
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "err",
                                                  "range": [
                                                    2416,
                                                    2419
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 63,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 63,
                                                      "column": 30
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2405,
                                                2420
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 63,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 63,
                                                  "column": 31
                                                }
                                              }
                                            },
                                            "range": [
                                              2405,
                                              2421
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 63,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 63,
                                                "column": 32
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2387,
                                          2435
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 64,
                                            "column": 13
                                          }
                                        }
                                      },
                                      "range": [
                                        2375,
                                        2435
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 64,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "finalizer": null,
                                    "range": [
                                      2288,
                                      2435
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 64,
                                        "column": 13
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2274,
                                  2445
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "element",
                                        "range": [
                                          2473,
                                          2480
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "name": "value",
                                        "range": [
                                          2483,
                                          2488
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "range": [
                                        2473,
                                        2488
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 27
                                        }
                                      }
                                    },
                                    "range": [
                                      2473,
                                      2489
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 28
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2459,
                                  2499
                                ],
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 68,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                2248,
                                2499
                              ],
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 8
                                },
                                "end": {
                                  "line": 68,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "group",
                                  "range": [
                                    2513,
                                    2518
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 18
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  2512,
                                  2518
                                ],
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 18
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "group",
                                        "range": [
                                          2534,
                                          2539
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 17
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "ConditionalExpression",
                                        "test": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2542,
                                              2546
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 70,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 70,
                                                "column": 24
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "subjectSelector",
                                            "range": [
                                              2547,
                                              2562
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 70,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 70,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "range": [
                                            2542,
                                            2562
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 70,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 70,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                2565,
                                                2569
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 47
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "subjectSelector",
                                              "range": [
                                                2570,
                                                2585
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 63
                                                }
                                              }
                                            },
                                            "range": [
                                              2565,
                                              2585
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 70,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 70,
                                                "column": 63
                                              }
                                            }
                                          },
                                          "arguments": [],
                                          "range": [
                                            2565,
                                            2587
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 70,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 70,
                                              "column": 65
                                            }
                                          }
                                        },
                                        "alternate": {
                                          "type": "NewExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "Subject",
                                            "range": [
                                              2594,
                                              2601
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 70,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 70,
                                                "column": 79
                                              }
                                            }
                                          },
                                          "arguments": [],
                                          "range": [
                                            2590,
                                            2603
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 70,
                                              "column": 68
                                            },
                                            "end": {
                                              "line": 70,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          2542,
                                          2603
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "range": [
                                        2534,
                                        2603
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 70,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 70,
                                          "column": 81
                                        }
                                      }
                                    },
                                    "range": [
                                      2534,
                                      2604
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 70,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 82
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "groups",
                                          "range": [
                                            2617,
                                            2623
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "set",
                                          "range": [
                                            2624,
                                            2627
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "range": [
                                          2617,
                                          2627
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "key",
                                          "range": [
                                            2628,
                                            2631
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 26
                                            }
                                          }
                                        },
                                        {
                                          "type": "Identifier",
                                          "name": "group",
                                          "range": [
                                            2633,
                                            2638
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 33
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2617,
                                        2639
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      2617,
                                      2640
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 35
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "groupedObservable",
                                          "range": [
                                            2657,
                                            2674
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "NewExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "GroupedObservable",
                                            "range": [
                                              2681,
                                              2698
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 72,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 72,
                                                "column": 57
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "key",
                                              "range": [
                                                2699,
                                                2702
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 72,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 72,
                                                  "column": 61
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "group",
                                              "range": [
                                                2704,
                                                2709
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 72,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 72,
                                                  "column": 68
                                                }
                                              }
                                            },
                                            {
                                              "type": "ThisExpression",
                                              "range": [
                                                2711,
                                                2715
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 72,
                                                  "column": 70
                                                },
                                                "end": {
                                                  "line": 72,
                                                  "column": 74
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2677,
                                            2716
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 72,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 72,
                                              "column": 75
                                            }
                                          }
                                        },
                                        "range": [
                                          2657,
                                          2716
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 72,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 72,
                                            "column": 75
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      2653,
                                      2717
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 76
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2730,
                                              2734
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "destination",
                                            "range": [
                                              2735,
                                              2746
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 73,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            2730,
                                            2746
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "next",
                                          "range": [
                                            2747,
                                            2751
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "range": [
                                          2730,
                                          2751
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "groupedObservable",
                                          "range": [
                                            2752,
                                            2769
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 51
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2730,
                                        2770
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 52
                                        }
                                      }
                                    },
                                    "range": [
                                      2730,
                                      2771
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 53
                                      }
                                    }
                                  },
                                  {
                                    "type": "IfStatement",
                                    "test": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          2788,
                                          2792
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 20
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "durationSelector",
                                        "range": [
                                          2793,
                                          2809
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 74,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 74,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        2788,
                                        2809
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 74,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "id": {
                                                "type": "Identifier",
                                                "name": "duration",
                                                "range": [
                                                  2833,
                                                  2841
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 28
                                                  }
                                                }
                                              },
                                              "init": {
                                                "type": "UnaryExpression",
                                                "operator": "void",
                                                "argument": {
                                                  "type": "Literal",
                                                  "value": 0,
                                                  "raw": "0",
                                                  "range": [
                                                    2849,
                                                    2850
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "prefix": true,
                                                "range": [
                                                  2844,
                                                  2850
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "range": [
                                                2833,
                                                2850
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 75,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 75,
                                                  "column": 37
                                                }
                                              }
                                            }
                                          ],
                                          "kind": "var",
                                          "range": [
                                            2829,
                                            2851
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 75,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 75,
                                              "column": 38
                                            }
                                          }
                                        },
                                        {
                                          "type": "TryStatement",
                                          "block": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "Identifier",
                                                    "name": "duration",
                                                    "range": [
                                                      2894,
                                                      2902
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 77,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 77,
                                                        "column": 28
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "range": [
                                                          2905,
                                                          2909
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 77,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 77,
                                                            "column": 35
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "durationSelector",
                                                        "range": [
                                                          2910,
                                                          2926
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 77,
                                                            "column": 36
                                                          },
                                                          "end": {
                                                            "line": 77,
                                                            "column": 52
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        2905,
                                                        2926
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 77,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 77,
                                                          "column": 52
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "NewExpression",
                                                        "callee": {
                                                          "type": "Identifier",
                                                          "name": "GroupedObservable",
                                                          "range": [
                                                            2931,
                                                            2948
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 77,
                                                              "column": 57
                                                            },
                                                            "end": {
                                                              "line": 77,
                                                              "column": 74
                                                            }
                                                          }
                                                        },
                                                        "arguments": [
                                                          {
                                                            "type": "Identifier",
                                                            "name": "key",
                                                            "range": [
                                                              2949,
                                                              2952
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 77,
                                                                "column": 75
                                                              },
                                                              "end": {
                                                                "line": 77,
                                                                "column": 78
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "type": "Identifier",
                                                            "name": "group",
                                                            "range": [
                                                              2954,
                                                              2959
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 77,
                                                                "column": 80
                                                              },
                                                              "end": {
                                                                "line": 77,
                                                                "column": 85
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          2927,
                                                          2960
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 77,
                                                            "column": 53
                                                          },
                                                          "end": {
                                                            "line": 77,
                                                            "column": 86
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      2905,
                                                      2961
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 77,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 77,
                                                        "column": 87
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2894,
                                                    2961
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 77,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 77,
                                                      "column": 87
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2894,
                                                  2962
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 77,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 77,
                                                    "column": 88
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              2872,
                                              2980
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 78,
                                                "column": 17
                                              }
                                            }
                                          },
                                          "handler": {
                                            "type": "CatchClause",
                                            "param": {
                                              "type": "Identifier",
                                              "name": "err",
                                              "range": [
                                                3004,
                                                3007
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 79,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 79,
                                                  "column": 26
                                                }
                                              }
                                            },
                                            "body": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "range": [
                                                          3031,
                                                          3035
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 80,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 80,
                                                            "column": 24
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "error",
                                                        "range": [
                                                          3036,
                                                          3041
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 80,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 80,
                                                            "column": 30
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        3031,
                                                        3041
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 80,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 80,
                                                          "column": 30
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "err",
                                                        "range": [
                                                          3042,
                                                          3045
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 80,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 80,
                                                            "column": 34
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      3031,
                                                      3046
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 80,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 80,
                                                        "column": 35
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3031,
                                                    3047
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 80,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 80,
                                                      "column": 36
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "ReturnStatement",
                                                  "argument": null,
                                                  "range": [
                                                    3068,
                                                    3075
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 81,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 81,
                                                      "column": 27
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                3009,
                                                3093
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 79,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 17
                                                }
                                              }
                                            },
                                            "range": [
                                              2997,
                                              3093
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 79,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 82,
                                                "column": 17
                                              }
                                            }
                                          },
                                          "finalizer": null,
                                          "range": [
                                            2868,
                                            3093
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 17
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "ThisExpression",
                                                "range": [
                                                  3110,
                                                  3114
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 20
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "add",
                                                "range": [
                                                  3115,
                                                  3118
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 24
                                                  }
                                                }
                                              },
                                              "range": [
                                                3110,
                                                3118
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 83,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 83,
                                                  "column": 24
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "duration",
                                                    "range": [
                                                      3119,
                                                      3127
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 33
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "subscribe",
                                                    "range": [
                                                      3128,
                                                      3137
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 34
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 43
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    3119,
                                                    3137
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 83,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 83,
                                                      "column": 43
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "NewExpression",
                                                    "callee": {
                                                      "type": "Identifier",
                                                      "name": "GroupDurationSubscriber",
                                                      "range": [
                                                        3142,
                                                        3165
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 83,
                                                          "column": 48
                                                        },
                                                        "end": {
                                                          "line": 83,
                                                          "column": 71
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "key",
                                                        "range": [
                                                          3166,
                                                          3169
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 83,
                                                            "column": 72
                                                          },
                                                          "end": {
                                                            "line": 83,
                                                            "column": 75
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "Identifier",
                                                        "name": "group",
                                                        "range": [
                                                          3171,
                                                          3176
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 83,
                                                            "column": 77
                                                          },
                                                          "end": {
                                                            "line": 83,
                                                            "column": 82
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "ThisExpression",
                                                        "range": [
                                                          3178,
                                                          3182
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 83,
                                                            "column": 84
                                                          },
                                                          "end": {
                                                            "line": 83,
                                                            "column": 88
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      3138,
                                                      3183
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 83,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 83,
                                                        "column": 89
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  3119,
                                                  3184
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 83,
                                                    "column": 90
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3110,
                                              3185
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 83,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 83,
                                                "column": 91
                                              }
                                            }
                                          },
                                          "range": [
                                            3110,
                                            3186
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 83,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 83,
                                              "column": 92
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        2811,
                                        3200
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 74,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "alternate": null,
                                    "range": [
                                      2784,
                                      3200
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 13
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2520,
                                  3210
                                ],
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 85,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                2508,
                                3210
                              ],
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 8
                                },
                                "end": {
                                  "line": 85,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "group",
                                    "range": [
                                      3224,
                                      3229
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      3230,
                                      3236
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    3224,
                                    3236
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 25
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  3223,
                                  3236
                                ],
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 25
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "group",
                                          "range": [
                                            3252,
                                            3257
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 17
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "next",
                                          "range": [
                                            3258,
                                            3262
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "range": [
                                          3252,
                                          3262
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "element",
                                          "range": [
                                            3263,
                                            3270
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 87,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 87,
                                              "column": 30
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3252,
                                        3271
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "range": [
                                      3252,
                                      3272
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 32
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3238,
                                  3282
                                ],
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3219,
                                3282
                              ],
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 8
                                },
                                "end": {
                                  "line": 88,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2025,
                            3288
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 63
                            },
                            "end": {
                              "line": 89,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2003,
                          3288
                        ],
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 41
                          },
                          "end": {
                            "line": 89,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1966,
                        3288
                      ],
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 4
                        },
                        "end": {
                          "line": 89,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1966,
                      3289
                    ],
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 4
                      },
                      "end": {
                        "line": 89,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupBySubscriber",
                            "range": [
                              3294,
                              3311
                            ],
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 4
                              },
                              "end": {
                                "line": 90,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3312,
                              3321
                            ],
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 22
                              },
                              "end": {
                                "line": 90,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            3294,
                            3321
                          ],
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 4
                            },
                            "end": {
                              "line": 90,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_error",
                          "range": [
                            3322,
                            3328
                          ],
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 32
                            },
                            "end": {
                              "line": 90,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          3294,
                          3328
                        ],
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 4
                          },
                          "end": {
                            "line": 90,
                            "column": 38
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "err",
                            "range": [
                              3341,
                              3344
                            ],
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 51
                              },
                              "end": {
                                "line": 90,
                                "column": 54
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "groups",
                                    "range": [
                                      3360,
                                      3366
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3369,
                                        3373
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "groups",
                                      "range": [
                                        3374,
                                        3380
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      3369,
                                      3380
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    3360,
                                    3380
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 32
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3356,
                                3381
                              ],
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 8
                                },
                                "end": {
                                  "line": 91,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "groups",
                                "range": [
                                  3394,
                                  3400
                                ],
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 18
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "groups",
                                          "range": [
                                            3416,
                                            3422
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "forEach",
                                          "range": [
                                            3423,
                                            3430
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 93,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "range": [
                                          3416,
                                          3430
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "FunctionExpression",
                                          "id": null,
                                          "params": [
                                            {
                                              "type": "Identifier",
                                              "name": "group",
                                              "range": [
                                                3441,
                                                3446
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 93,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 93,
                                                  "column": 42
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "key",
                                              "range": [
                                                3448,
                                                3451
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 93,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 93,
                                                  "column": 47
                                                }
                                              }
                                            }
                                          ],
                                          "body": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "group",
                                                      "range": [
                                                        3471,
                                                        3476
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 94,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 94,
                                                          "column": 21
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "error",
                                                      "range": [
                                                        3477,
                                                        3482
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 94,
                                                          "column": 22
                                                        },
                                                        "end": {
                                                          "line": 94,
                                                          "column": 27
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3471,
                                                      3482
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 94,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 94,
                                                        "column": 27
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "err",
                                                      "range": [
                                                        3483,
                                                        3486
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 94,
                                                          "column": 28
                                                        },
                                                        "end": {
                                                          "line": 94,
                                                          "column": 31
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    3471,
                                                    3487
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 94,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 94,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3471,
                                                  3488
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 94,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 94,
                                                    "column": 33
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3453,
                                              3502
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 93,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "generator": false,
                                          "expression": false,
                                          "range": [
                                            3431,
                                            3502
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 93,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 13
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3416,
                                        3503
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "range": [
                                      3416,
                                      3504
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 15
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "groups",
                                          "range": [
                                            3517,
                                            3523
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "clear",
                                          "range": [
                                            3524,
                                            3529
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "range": [
                                          3517,
                                          3529
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 96,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 96,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        3517,
                                        3531
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "range": [
                                      3517,
                                      3532
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 27
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3402,
                                  3542
                                ],
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3390,
                                3542
                              ],
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 8
                                },
                                "end": {
                                  "line": 97,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3551,
                                        3555
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3556,
                                        3567
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3551,
                                      3567
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "error",
                                    "range": [
                                      3568,
                                      3573
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    3551,
                                    3573
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 98,
                                      "column": 30
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "err",
                                    "range": [
                                      3574,
                                      3577
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 34
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3551,
                                  3578
                                ],
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                3551,
                                3579
                              ],
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 8
                                },
                                "end": {
                                  "line": 98,
                                  "column": 36
                                }
                              }
                            }
                          ],
                          "range": [
                            3346,
                            3585
                          ],
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 56
                            },
                            "end": {
                              "line": 99,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3331,
                          3585
                        ],
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 41
                          },
                          "end": {
                            "line": 99,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3294,
                        3585
                      ],
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 4
                        },
                        "end": {
                          "line": 99,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3294,
                      3586
                    ],
                    "loc": {
                      "start": {
                        "line": 90,
                        "column": 4
                      },
                      "end": {
                        "line": 99,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupBySubscriber",
                            "range": [
                              3591,
                              3608
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 4
                              },
                              "end": {
                                "line": 100,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3609,
                              3618
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 22
                              },
                              "end": {
                                "line": 100,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            3591,
                            3618
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 4
                            },
                            "end": {
                              "line": 100,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            3619,
                            3628
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 32
                            },
                            "end": {
                              "line": 100,
                              "column": 41
                            }
                          }
                        },
                        "range": [
                          3591,
                          3628
                        ],
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 4
                          },
                          "end": {
                            "line": 100,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "groups",
                                    "range": [
                                      3657,
                                      3663
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3666,
                                        3670
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "groups",
                                      "range": [
                                        3671,
                                        3677
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      3666,
                                      3677
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    3657,
                                    3677
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 32
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3653,
                                3678
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 8
                                },
                                "end": {
                                  "line": 101,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "groups",
                                "range": [
                                  3691,
                                  3697
                                ],
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 18
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "groups",
                                          "range": [
                                            3713,
                                            3719
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "forEach",
                                          "range": [
                                            3720,
                                            3727
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "range": [
                                          3713,
                                          3727
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "FunctionExpression",
                                          "id": null,
                                          "params": [
                                            {
                                              "type": "Identifier",
                                              "name": "group",
                                              "range": [
                                                3738,
                                                3743
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 103,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 103,
                                                  "column": 42
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "key",
                                              "range": [
                                                3745,
                                                3748
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 103,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 103,
                                                  "column": 47
                                                }
                                              }
                                            }
                                          ],
                                          "body": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "group",
                                                      "range": [
                                                        3768,
                                                        3773
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 104,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 104,
                                                          "column": 21
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "complete",
                                                      "range": [
                                                        3774,
                                                        3782
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 104,
                                                          "column": 22
                                                        },
                                                        "end": {
                                                          "line": 104,
                                                          "column": 30
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3768,
                                                      3782
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 30
                                                      }
                                                    }
                                                  },
                                                  "arguments": [],
                                                  "range": [
                                                    3768,
                                                    3784
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3768,
                                                  3785
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 33
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3750,
                                              3799
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 105,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "generator": false,
                                          "expression": false,
                                          "range": [
                                            3728,
                                            3799
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 13
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3713,
                                        3800
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "range": [
                                      3713,
                                      3801
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 15
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "groups",
                                          "range": [
                                            3814,
                                            3820
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "clear",
                                          "range": [
                                            3821,
                                            3826
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "range": [
                                          3814,
                                          3826
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 106,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 106,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        3814,
                                        3828
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 106,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 106,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "range": [
                                      3814,
                                      3829
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 27
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3699,
                                  3839
                                ],
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3687,
                                3839
                              ],
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 8
                                },
                                "end": {
                                  "line": 107,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3848,
                                        3852
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3853,
                                        3864
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3848,
                                      3864
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "complete",
                                    "range": [
                                      3865,
                                      3873
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 108,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    3848,
                                    3873
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 108,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 108,
                                      "column": 33
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  3848,
                                  3875
                                ],
                                "loc": {
                                  "start": {
                                    "line": 108,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 108,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                3848,
                                3876
                              ],
                              "loc": {
                                "start": {
                                  "line": 108,
                                  "column": 8
                                },
                                "end": {
                                  "line": 108,
                                  "column": 36
                                }
                              }
                            }
                          ],
                          "range": [
                            3643,
                            3882
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 56
                            },
                            "end": {
                              "line": 109,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3631,
                          3882
                        ],
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 44
                          },
                          "end": {
                            "line": 109,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3591,
                        3882
                      ],
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 4
                        },
                        "end": {
                          "line": 109,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3591,
                      3883
                    ],
                    "loc": {
                      "start": {
                        "line": 100,
                        "column": 4
                      },
                      "end": {
                        "line": 109,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupBySubscriber",
                            "range": [
                              3888,
                              3905
                            ],
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 4
                              },
                              "end": {
                                "line": 110,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3906,
                              3915
                            ],
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 22
                              },
                              "end": {
                                "line": 110,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            3888,
                            3915
                          ],
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 4
                            },
                            "end": {
                              "line": 110,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "removeGroup",
                          "range": [
                            3916,
                            3927
                          ],
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 32
                            },
                            "end": {
                              "line": 110,
                              "column": 43
                            }
                          }
                        },
                        "range": [
                          3888,
                          3927
                        ],
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 4
                          },
                          "end": {
                            "line": 110,
                            "column": 43
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "key",
                            "range": [
                              3940,
                              3943
                            ],
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 56
                              },
                              "end": {
                                "line": 110,
                                "column": 59
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3955,
                                        3959
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "groups",
                                      "range": [
                                        3960,
                                        3966
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "range": [
                                      3955,
                                      3966
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "delete",
                                    "range": [
                                      3967,
                                      3973
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    3955,
                                    3973
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 26
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "key",
                                    "range": [
                                      3974,
                                      3977
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 30
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3955,
                                  3978
                                ],
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                3955,
                                3979
                              ],
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 8
                                },
                                "end": {
                                  "line": 111,
                                  "column": 32
                                }
                              }
                            }
                          ],
                          "range": [
                            3945,
                            3985
                          ],
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 61
                            },
                            "end": {
                              "line": 112,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3930,
                          3985
                        ],
                        "loc": {
                          "start": {
                            "line": 110,
                            "column": 46
                          },
                          "end": {
                            "line": 112,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3888,
                        3985
                      ],
                      "loc": {
                        "start": {
                          "line": 110,
                          "column": 4
                        },
                        "end": {
                          "line": 112,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3888,
                      3986
                    ],
                    "loc": {
                      "start": {
                        "line": 110,
                        "column": 4
                      },
                      "end": {
                        "line": 112,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupBySubscriber",
                            "range": [
                              3991,
                              4008
                            ],
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 4
                              },
                              "end": {
                                "line": 113,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              4009,
                              4018
                            ],
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 22
                              },
                              "end": {
                                "line": 113,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            3991,
                            4018
                          ],
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 4
                            },
                            "end": {
                              "line": 113,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "unsubscribe",
                          "range": [
                            4019,
                            4030
                          ],
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 32
                            },
                            "end": {
                              "line": 113,
                              "column": 43
                            }
                          }
                        },
                        "range": [
                          3991,
                          4030
                        ],
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 4
                          },
                          "end": {
                            "line": 113,
                            "column": 43
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "LogicalExpression",
                                "operator": "&&",
                                "left": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4060,
                                        4064
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 114,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closed",
                                      "range": [
                                        4065,
                                        4071
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 114,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      4060,
                                      4071
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 114,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 114,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    4059,
                                    4071
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 24
                                    }
                                  }
                                },
                                "right": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4076,
                                        4080
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 114,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "attemptedToUnsubscribe",
                                      "range": [
                                        4081,
                                        4103
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 114,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 56
                                        }
                                      }
                                    },
                                    "range": [
                                      4076,
                                      4103
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 114,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 114,
                                        "column": 56
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    4075,
                                    4103
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 114,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 114,
                                      "column": 56
                                    }
                                  }
                                },
                                "range": [
                                  4059,
                                  4103
                                ],
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 114,
                                    "column": 56
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4119,
                                            4123
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "attemptedToUnsubscribe",
                                          "range": [
                                            4124,
                                            4146
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "range": [
                                          4119,
                                          4146
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": true,
                                        "raw": "true",
                                        "range": [
                                          4149,
                                          4153
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 46
                                          }
                                        }
                                      },
                                      "range": [
                                        4119,
                                        4153
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 46
                                        }
                                      }
                                    },
                                    "range": [
                                      4119,
                                      4154
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 115,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 47
                                      }
                                    }
                                  },
                                  {
                                    "type": "IfStatement",
                                    "test": {
                                      "type": "BinaryExpression",
                                      "operator": "===",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4171,
                                            4175
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "count",
                                          "range": [
                                            4176,
                                            4181
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "range": [
                                          4171,
                                          4181
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 116,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 116,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": 0,
                                        "raw": "0",
                                        "range": [
                                          4186,
                                          4187
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 116,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 116,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        4171,
                                        4187
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "_super",
                                                    "range": [
                                                      4207,
                                                      4213
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 22
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "prototype",
                                                    "range": [
                                                      4214,
                                                      4223
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4207,
                                                    4223
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 32
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "unsubscribe",
                                                  "range": [
                                                    4224,
                                                    4235
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 33
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 44
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4207,
                                                  4235
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 44
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "call",
                                                "range": [
                                                  4236,
                                                  4240
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 49
                                                  }
                                                }
                                              },
                                              "range": [
                                                4207,
                                                4240
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 49
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "ThisExpression",
                                                "range": [
                                                  4241,
                                                  4245
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 54
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4207,
                                              4246
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 117,
                                                "column": 55
                                              }
                                            }
                                          },
                                          "range": [
                                            4207,
                                            4247
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 56
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4189,
                                        4261
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "alternate": null,
                                    "range": [
                                      4167,
                                      4261
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 13
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4105,
                                  4271
                                ],
                                "loc": {
                                  "start": {
                                    "line": 114,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                4055,
                                4271
                              ],
                              "loc": {
                                "start": {
                                  "line": 114,
                                  "column": 8
                                },
                                "end": {
                                  "line": 119,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            4045,
                            4277
                          ],
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 58
                            },
                            "end": {
                              "line": 120,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4033,
                          4277
                        ],
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 46
                          },
                          "end": {
                            "line": 120,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3991,
                        4277
                      ],
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 4
                        },
                        "end": {
                          "line": 120,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3991,
                      4278
                    ],
                    "loc": {
                      "start": {
                        "line": 113,
                        "column": 4
                      },
                      "end": {
                        "line": 120,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "GroupBySubscriber",
                      "range": [
                        4290,
                        4307
                      ],
                      "loc": {
                        "start": {
                          "line": 121,
                          "column": 11
                        },
                        "end": {
                          "line": 121,
                          "column": 28
                        }
                      }
                    },
                    "range": [
                      4283,
                      4308
                    ],
                    "loc": {
                      "start": {
                        "line": 121,
                        "column": 4
                      },
                      "end": {
                        "line": 121,
                        "column": 29
                      }
                    }
                  }
                ],
                "range": [
                  1214,
                  4310
                ],
                "loc": {
                  "start": {
                    "line": 28,
                    "column": 43
                  },
                  "end": {
                    "line": 122,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1196,
                4310
              ],
              "loc": {
                "start": {
                  "line": 28,
                  "column": 25
                },
                "end": {
                  "line": 122,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscriber",
                "range": [
                  4311,
                  4321
                ],
                "loc": {
                  "start": {
                    "line": 122,
                    "column": 2
                  },
                  "end": {
                    "line": 122,
                    "column": 12
                  }
                }
              }
            ],
            "range": [
              1196,
              4322
            ],
            "loc": {
              "start": {
                "line": 28,
                "column": 25
              },
              "end": {
                "line": 122,
                "column": 13
              }
            }
          },
          "range": [
            1175,
            4323
          ],
          "loc": {
            "start": {
              "line": 28,
              "column": 4
            },
            "end": {
              "line": 122,
              "column": 14
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1171,
        4324
      ],
      "loc": {
        "start": {
          "line": 28,
          "column": 0
        },
        "end": {
          "line": 122,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1079,
            1170
          ],
          "loc": {
            "start": {
              "line": 23,
              "column": 0
            },
            "end": {
              "line": 27,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            4325,
            4416
          ],
          "loc": {
            "start": {
              "line": 123,
              "column": 0
            },
            "end": {
              "line": 127,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "GroupDurationSubscriber",
            "range": [
              4421,
              4444
            ],
            "loc": {
              "start": {
                "line": 128,
                "column": 4
              },
              "end": {
                "line": 128,
                "column": 27
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    4458,
                    4464
                  ],
                  "loc": {
                    "start": {
                      "line": 128,
                      "column": 41
                    },
                    "end": {
                      "line": 128,
                      "column": 47
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          4472,
                          4481
                        ],
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 4
                          },
                          "end": {
                            "line": 129,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "GroupDurationSubscriber",
                          "range": [
                            4482,
                            4505
                          ],
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 14
                            },
                            "end": {
                              "line": 129,
                              "column": 37
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            4507,
                            4513
                          ],
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 39
                            },
                            "end": {
                              "line": 129,
                              "column": 45
                            }
                          }
                        }
                      ],
                      "range": [
                        4472,
                        4514
                      ],
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 4
                        },
                        "end": {
                          "line": 129,
                          "column": 46
                        }
                      }
                    },
                    "range": [
                      4472,
                      4515
                    ],
                    "loc": {
                      "start": {
                        "line": 129,
                        "column": 4
                      },
                      "end": {
                        "line": 129,
                        "column": 47
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "GroupDurationSubscriber",
                      "range": [
                        4529,
                        4552
                      ],
                      "loc": {
                        "start": {
                          "line": 130,
                          "column": 13
                        },
                        "end": {
                          "line": 130,
                          "column": 36
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "key",
                        "range": [
                          4553,
                          4556
                        ],
                        "loc": {
                          "start": {
                            "line": 130,
                            "column": 37
                          },
                          "end": {
                            "line": 130,
                            "column": 40
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "group",
                        "range": [
                          4558,
                          4563
                        ],
                        "loc": {
                          "start": {
                            "line": 130,
                            "column": 42
                          },
                          "end": {
                            "line": 130,
                            "column": 47
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "parent",
                        "range": [
                          4565,
                          4571
                        ],
                        "loc": {
                          "start": {
                            "line": 130,
                            "column": 49
                          },
                          "end": {
                            "line": 130,
                            "column": 55
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  4583,
                                  4589
                                ],
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  4590,
                                  4594
                                ],
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                4583,
                                4594
                              ],
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 8
                                },
                                "end": {
                                  "line": 131,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  4595,
                                  4599
                                ],
                                "loc": {
                                  "start": {
                                    "line": 131,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 24
                                  }
                                }
                              }
                            ],
                            "range": [
                              4583,
                              4600
                            ],
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 8
                              },
                              "end": {
                                "line": 131,
                                "column": 25
                              }
                            }
                          },
                          "range": [
                            4583,
                            4601
                          ],
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 8
                            },
                            "end": {
                              "line": 131,
                              "column": 26
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  4610,
                                  4614
                                ],
                                "loc": {
                                  "start": {
                                    "line": 132,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "key",
                                "range": [
                                  4615,
                                  4618
                                ],
                                "loc": {
                                  "start": {
                                    "line": 132,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 132,
                                    "column": 16
                                  }
                                }
                              },
                              "range": [
                                4610,
                                4618
                              ],
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 8
                                },
                                "end": {
                                  "line": 132,
                                  "column": 16
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "key",
                              "range": [
                                4621,
                                4624
                              ],
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 19
                                },
                                "end": {
                                  "line": 132,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              4610,
                              4624
                            ],
                            "loc": {
                              "start": {
                                "line": 132,
                                "column": 8
                              },
                              "end": {
                                "line": 132,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            4610,
                            4625
                          ],
                          "loc": {
                            "start": {
                              "line": 132,
                              "column": 8
                            },
                            "end": {
                              "line": 132,
                              "column": 23
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  4634,
                                  4638
                                ],
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "group",
                                "range": [
                                  4639,
                                  4644
                                ],
                                "loc": {
                                  "start": {
                                    "line": 133,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 133,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                4634,
                                4644
                              ],
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 8
                                },
                                "end": {
                                  "line": 133,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "group",
                              "range": [
                                4647,
                                4652
                              ],
                              "loc": {
                                "start": {
                                  "line": 133,
                                  "column": 21
                                },
                                "end": {
                                  "line": 133,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              4634,
                              4652
                            ],
                            "loc": {
                              "start": {
                                "line": 133,
                                "column": 8
                              },
                              "end": {
                                "line": 133,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            4634,
                            4653
                          ],
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 8
                            },
                            "end": {
                              "line": 133,
                              "column": 27
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  4662,
                                  4666
                                ],
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "parent",
                                "range": [
                                  4667,
                                  4673
                                ],
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                4662,
                                4673
                              ],
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 8
                                },
                                "end": {
                                  "line": 134,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "parent",
                              "range": [
                                4676,
                                4682
                              ],
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 22
                                },
                                "end": {
                                  "line": 134,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              4662,
                              4682
                            ],
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 8
                              },
                              "end": {
                                "line": 134,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            4662,
                            4683
                          ],
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 8
                            },
                            "end": {
                              "line": 134,
                              "column": 29
                            }
                          }
                        }
                      ],
                      "range": [
                        4573,
                        4689
                      ],
                      "loc": {
                        "start": {
                          "line": 130,
                          "column": 57
                        },
                        "end": {
                          "line": 135,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      4520,
                      4689
                    ],
                    "loc": {
                      "start": {
                        "line": 130,
                        "column": 4
                      },
                      "end": {
                        "line": 135,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupDurationSubscriber",
                            "range": [
                              4694,
                              4717
                            ],
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 4
                              },
                              "end": {
                                "line": 136,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              4718,
                              4727
                            ],
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 28
                              },
                              "end": {
                                "line": 136,
                                "column": 37
                              }
                            }
                          },
                          "range": [
                            4694,
                            4727
                          ],
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 4
                            },
                            "end": {
                              "line": 136,
                              "column": 37
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            4728,
                            4733
                          ],
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 38
                            },
                            "end": {
                              "line": 136,
                              "column": 43
                            }
                          }
                        },
                        "range": [
                          4694,
                          4733
                        ],
                        "loc": {
                          "start": {
                            "line": 136,
                            "column": 4
                          },
                          "end": {
                            "line": 136,
                            "column": 43
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              4746,
                              4751
                            ],
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 56
                              },
                              "end": {
                                "line": 136,
                                "column": 61
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      4763,
                                      4767
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_complete",
                                    "range": [
                                      4768,
                                      4777
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "range": [
                                    4763,
                                    4777
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 22
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  4763,
                                  4779
                                ],
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                4763,
                                4780
                              ],
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 8
                                },
                                "end": {
                                  "line": 137,
                                  "column": 25
                                }
                              }
                            }
                          ],
                          "range": [
                            4753,
                            4786
                          ],
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 63
                            },
                            "end": {
                              "line": 138,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4736,
                          4786
                        ],
                        "loc": {
                          "start": {
                            "line": 136,
                            "column": 46
                          },
                          "end": {
                            "line": 138,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4694,
                        4786
                      ],
                      "loc": {
                        "start": {
                          "line": 136,
                          "column": 4
                        },
                        "end": {
                          "line": 138,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      4694,
                      4787
                    ],
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 4
                      },
                      "end": {
                        "line": 138,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupDurationSubscriber",
                            "range": [
                              4792,
                              4815
                            ],
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 4
                              },
                              "end": {
                                "line": 139,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              4816,
                              4825
                            ],
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 28
                              },
                              "end": {
                                "line": 139,
                                "column": 37
                              }
                            }
                          },
                          "range": [
                            4792,
                            4825
                          ],
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 4
                            },
                            "end": {
                              "line": 139,
                              "column": 37
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_error",
                          "range": [
                            4826,
                            4832
                          ],
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 38
                            },
                            "end": {
                              "line": 139,
                              "column": 44
                            }
                          }
                        },
                        "range": [
                          4792,
                          4832
                        ],
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 4
                          },
                          "end": {
                            "line": 139,
                            "column": 44
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "err",
                            "range": [
                              4845,
                              4848
                            ],
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 57
                              },
                              "end": {
                                "line": 139,
                                "column": 60
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "group",
                                    "range": [
                                      4864,
                                      4869
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4872,
                                        4876
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 140,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 140,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "group",
                                      "range": [
                                        4877,
                                        4882
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 140,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 140,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      4872,
                                      4882
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    4864,
                                    4882
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 30
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                4860,
                                4883
                              ],
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 8
                                },
                                "end": {
                                  "line": 140,
                                  "column": 31
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "group",
                                    "range": [
                                      4897,
                                      4902
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      4903,
                                      4909
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    4897,
                                    4909
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 25
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  4896,
                                  4909
                                ],
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 25
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "group",
                                          "range": [
                                            4925,
                                            4930
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 17
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "error",
                                          "range": [
                                            4931,
                                            4936
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "range": [
                                          4925,
                                          4936
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "err",
                                          "range": [
                                            4937,
                                            4940
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 27
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4925,
                                        4941
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "range": [
                                      4925,
                                      4942
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 142,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 142,
                                        "column": 29
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4911,
                                  4952
                                ],
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                4892,
                                4952
                              ],
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 8
                                },
                                "end": {
                                  "line": 143,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4961,
                                        4965
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "parent",
                                      "range": [
                                        4966,
                                        4972
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "range": [
                                      4961,
                                      4972
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "removeGroup",
                                    "range": [
                                      4973,
                                      4984
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    4961,
                                    4984
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 31
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4985,
                                        4989
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "key",
                                      "range": [
                                        4990,
                                        4993
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 144,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 144,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "range": [
                                      4985,
                                      4993
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 144,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 144,
                                        "column": 40
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4961,
                                  4994
                                ],
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 41
                                  }
                                }
                              },
                              "range": [
                                4961,
                                4995
                              ],
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 8
                                },
                                "end": {
                                  "line": 144,
                                  "column": 42
                                }
                              }
                            }
                          ],
                          "range": [
                            4850,
                            5001
                          ],
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 62
                            },
                            "end": {
                              "line": 145,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4835,
                          5001
                        ],
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 47
                          },
                          "end": {
                            "line": 145,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4792,
                        5001
                      ],
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 4
                        },
                        "end": {
                          "line": 145,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      4792,
                      5002
                    ],
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 4
                      },
                      "end": {
                        "line": 145,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "GroupDurationSubscriber",
                            "range": [
                              5007,
                              5030
                            ],
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 4
                              },
                              "end": {
                                "line": 146,
                                "column": 27
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              5031,
                              5040
                            ],
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 28
                              },
                              "end": {
                                "line": 146,
                                "column": 37
                              }
                            }
                          },
                          "range": [
                            5007,
                            5040
                          ],
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 4
                            },
                            "end": {
                              "line": 146,
                              "column": 37
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            5041,
                            5050
                          ],
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 38
                            },
                            "end": {
                              "line": 146,
                              "column": 47
                            }
                          }
                        },
                        "range": [
                          5007,
                          5050
                        ],
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 4
                          },
                          "end": {
                            "line": 146,
                            "column": 47
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "group",
                                    "range": [
                                      5079,
                                      5084
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        5087,
                                        5091
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "group",
                                      "range": [
                                        5092,
                                        5097
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "range": [
                                      5087,
                                      5097
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    5079,
                                    5097
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 147,
                                      "column": 30
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                5075,
                                5098
                              ],
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 8
                                },
                                "end": {
                                  "line": 147,
                                  "column": 31
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "group",
                                    "range": [
                                      5112,
                                      5117
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 148,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 148,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "closed",
                                    "range": [
                                      5118,
                                      5124
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 148,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 148,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "range": [
                                    5112,
                                    5124
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 148,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 148,
                                      "column": 25
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  5111,
                                  5124
                                ],
                                "loc": {
                                  "start": {
                                    "line": 148,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 148,
                                    "column": 25
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "group",
                                          "range": [
                                            5140,
                                            5145
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 17
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "complete",
                                          "range": [
                                            5146,
                                            5154
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "range": [
                                          5140,
                                          5154
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 149,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 149,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        5140,
                                        5156
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "range": [
                                      5140,
                                      5157
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 29
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  5126,
                                  5167
                                ],
                                "loc": {
                                  "start": {
                                    "line": 148,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 150,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                5107,
                                5167
                              ],
                              "loc": {
                                "start": {
                                  "line": 148,
                                  "column": 8
                                },
                                "end": {
                                  "line": 150,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        5176,
                                        5180
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "parent",
                                      "range": [
                                        5181,
                                        5187
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "range": [
                                      5176,
                                      5187
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "removeGroup",
                                    "range": [
                                      5188,
                                      5199
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    5176,
                                    5199
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 151,
                                      "column": 31
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        5200,
                                        5204
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "key",
                                      "range": [
                                        5205,
                                        5208
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "range": [
                                      5200,
                                      5208
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 40
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  5176,
                                  5209
                                ],
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 41
                                  }
                                }
                              },
                              "range": [
                                5176,
                                5210
                              ],
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 8
                                },
                                "end": {
                                  "line": 151,
                                  "column": 42
                                }
                              }
                            }
                          ],
                          "range": [
                            5065,
                            5216
                          ],
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 62
                            },
                            "end": {
                              "line": 152,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          5053,
                          5216
                        ],
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 50
                          },
                          "end": {
                            "line": 152,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        5007,
                        5216
                      ],
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 4
                        },
                        "end": {
                          "line": 152,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      5007,
                      5217
                    ],
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 4
                      },
                      "end": {
                        "line": 152,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "GroupDurationSubscriber",
                      "range": [
                        5229,
                        5252
                      ],
                      "loc": {
                        "start": {
                          "line": 153,
                          "column": 11
                        },
                        "end": {
                          "line": 153,
                          "column": 34
                        }
                      }
                    },
                    "range": [
                      5222,
                      5253
                    ],
                    "loc": {
                      "start": {
                        "line": 153,
                        "column": 4
                      },
                      "end": {
                        "line": 153,
                        "column": 35
                      }
                    }
                  }
                ],
                "range": [
                  4466,
                  5255
                ],
                "loc": {
                  "start": {
                    "line": 128,
                    "column": 49
                  },
                  "end": {
                    "line": 154,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                4448,
                5255
              ],
              "loc": {
                "start": {
                  "line": 128,
                  "column": 31
                },
                "end": {
                  "line": 154,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscriber",
                "range": [
                  5256,
                  5266
                ],
                "loc": {
                  "start": {
                    "line": 154,
                    "column": 2
                  },
                  "end": {
                    "line": 154,
                    "column": 12
                  }
                }
              }
            ],
            "range": [
              4448,
              5267
            ],
            "loc": {
              "start": {
                "line": 128,
                "column": 31
              },
              "end": {
                "line": 154,
                "column": 13
              }
            }
          },
          "range": [
            4421,
            5268
          ],
          "loc": {
            "start": {
              "line": 128,
              "column": 4
            },
            "end": {
              "line": 154,
              "column": 14
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        4417,
        5269
      ],
      "loc": {
        "start": {
          "line": 128,
          "column": 0
        },
        "end": {
          "line": 154,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            4325,
            4416
          ],
          "loc": {
            "start": {
              "line": 123,
              "column": 0
            },
            "end": {
              "line": 127,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * An Observable representing values belonging to the same group represented by\n * a common key. The values emitted by a GroupedObservable come from the source\n * Observable. The common key is available as the field `key` on a\n * GroupedObservable instance.\n *\n * @class GroupedObservable<K, T>\n ",
          "range": [
            5270,
            5572
          ],
          "loc": {
            "start": {
              "line": 155,
              "column": 0
            },
            "end": {
              "line": 162,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "GroupedObservable",
              "range": [
                5584,
                5601
              ],
              "loc": {
                "start": {
                  "line": 163,
                  "column": 11
                },
                "end": {
                  "line": 163,
                  "column": 28
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "_super",
                    "range": [
                      5615,
                      5621
                    ],
                    "loc": {
                      "start": {
                        "line": 163,
                        "column": 42
                      },
                      "end": {
                        "line": 163,
                        "column": 48
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "__extends",
                          "range": [
                            5629,
                            5638
                          ],
                          "loc": {
                            "start": {
                              "line": 164,
                              "column": 4
                            },
                            "end": {
                              "line": 164,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "GroupedObservable",
                            "range": [
                              5639,
                              5656
                            ],
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 14
                              },
                              "end": {
                                "line": 164,
                                "column": 31
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "_super",
                            "range": [
                              5658,
                              5664
                            ],
                            "loc": {
                              "start": {
                                "line": 164,
                                "column": 33
                              },
                              "end": {
                                "line": 164,
                                "column": 39
                              }
                            }
                          }
                        ],
                        "range": [
                          5629,
                          5665
                        ],
                        "loc": {
                          "start": {
                            "line": 164,
                            "column": 4
                          },
                          "end": {
                            "line": 164,
                            "column": 40
                          }
                        }
                      },
                      "range": [
                        5629,
                        5666
                      ],
                      "loc": {
                        "start": {
                          "line": 164,
                          "column": 4
                        },
                        "end": {
                          "line": 164,
                          "column": 41
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "GroupedObservable",
                        "range": [
                          5680,
                          5697
                        ],
                        "loc": {
                          "start": {
                            "line": 165,
                            "column": 13
                          },
                          "end": {
                            "line": 165,
                            "column": 30
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "key",
                          "range": [
                            5698,
                            5701
                          ],
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 31
                            },
                            "end": {
                              "line": 165,
                              "column": 34
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "groupSubject",
                          "range": [
                            5703,
                            5715
                          ],
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 36
                            },
                            "end": {
                              "line": 165,
                              "column": 48
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "refCountSubscription",
                          "range": [
                            5717,
                            5737
                          ],
                          "loc": {
                            "start": {
                              "line": 165,
                              "column": 50
                            },
                            "end": {
                              "line": 165,
                              "column": 70
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "_super",
                                  "range": [
                                    5749,
                                    5755
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 166,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 166,
                                      "column": 14
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "call",
                                  "range": [
                                    5756,
                                    5760
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 166,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 166,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  5749,
                                  5760
                                ],
                                "loc": {
                                  "start": {
                                    "line": 166,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 166,
                                    "column": 19
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "ThisExpression",
                                  "range": [
                                    5761,
                                    5765
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 166,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 166,
                                      "column": 24
                                    }
                                  }
                                }
                              ],
                              "range": [
                                5749,
                                5766
                              ],
                              "loc": {
                                "start": {
                                  "line": 166,
                                  "column": 8
                                },
                                "end": {
                                  "line": 166,
                                  "column": 25
                                }
                              }
                            },
                            "range": [
                              5749,
                              5767
                            ],
                            "loc": {
                              "start": {
                                "line": 166,
                                "column": 8
                              },
                              "end": {
                                "line": 166,
                                "column": 26
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    5776,
                                    5780
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 167,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 167,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "key",
                                  "range": [
                                    5781,
                                    5784
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 167,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 167,
                                      "column": 16
                                    }
                                  }
                                },
                                "range": [
                                  5776,
                                  5784
                                ],
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 16
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "key",
                                "range": [
                                  5787,
                                  5790
                                ],
                                "loc": {
                                  "start": {
                                    "line": 167,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 167,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                5776,
                                5790
                              ],
                              "loc": {
                                "start": {
                                  "line": 167,
                                  "column": 8
                                },
                                "end": {
                                  "line": 167,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              5776,
                              5791
                            ],
                            "loc": {
                              "start": {
                                "line": 167,
                                "column": 8
                              },
                              "end": {
                                "line": 167,
                                "column": 23
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    5800,
                                    5804
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "groupSubject",
                                  "range": [
                                    5805,
                                    5817
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 168,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 168,
                                      "column": 25
                                    }
                                  }
                                },
                                "range": [
                                  5800,
                                  5817
                                ],
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 25
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "groupSubject",
                                "range": [
                                  5820,
                                  5832
                                ],
                                "loc": {
                                  "start": {
                                    "line": 168,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 168,
                                    "column": 40
                                  }
                                }
                              },
                              "range": [
                                5800,
                                5832
                              ],
                              "loc": {
                                "start": {
                                  "line": 168,
                                  "column": 8
                                },
                                "end": {
                                  "line": 168,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              5800,
                              5833
                            ],
                            "loc": {
                              "start": {
                                "line": 168,
                                "column": 8
                              },
                              "end": {
                                "line": 168,
                                "column": 41
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    5842,
                                    5846
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "refCountSubscription",
                                  "range": [
                                    5847,
                                    5867
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 169,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 169,
                                      "column": 33
                                    }
                                  }
                                },
                                "range": [
                                  5842,
                                  5867
                                ],
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 33
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "refCountSubscription",
                                "range": [
                                  5870,
                                  5890
                                ],
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 56
                                  }
                                }
                              },
                              "range": [
                                5842,
                                5890
                              ],
                              "loc": {
                                "start": {
                                  "line": 169,
                                  "column": 8
                                },
                                "end": {
                                  "line": 169,
                                  "column": 56
                                }
                              }
                            },
                            "range": [
                              5842,
                              5891
                            ],
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 8
                              },
                              "end": {
                                "line": 169,
                                "column": 57
                              }
                            }
                          }
                        ],
                        "range": [
                          5739,
                          5897
                        ],
                        "loc": {
                          "start": {
                            "line": 165,
                            "column": 72
                          },
                          "end": {
                            "line": 170,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        5671,
                        5897
                      ],
                      "loc": {
                        "start": {
                          "line": 165,
                          "column": 4
                        },
                        "end": {
                          "line": 170,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "GroupedObservable",
                              "range": [
                                5902,
                                5919
                              ],
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 4
                                },
                                "end": {
                                  "line": 171,
                                  "column": 21
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                5920,
                                5929
                              ],
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 22
                                },
                                "end": {
                                  "line": 171,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              5902,
                              5929
                            ],
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 4
                              },
                              "end": {
                                "line": 171,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_subscribe",
                            "range": [
                              5930,
                              5940
                            ],
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 32
                              },
                              "end": {
                                "line": 171,
                                "column": 42
                              }
                            }
                          },
                          "range": [
                            5902,
                            5940
                          ],
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 4
                            },
                            "end": {
                              "line": 171,
                              "column": 42
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscriber",
                              "range": [
                                5953,
                                5963
                              ],
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 55
                                },
                                "end": {
                                  "line": 171,
                                  "column": 65
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "subscription",
                                      "range": [
                                        5979,
                                        5991
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 172,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 172,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "Subscription",
                                        "range": [
                                          5998,
                                          6010
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 172,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 172,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        5994,
                                        6012
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 172,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 172,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      5979,
                                      6012
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 172,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 45
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  5975,
                                  6013
                                ],
                                "loc": {
                                  "start": {
                                    "line": 172,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 46
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "_a",
                                      "range": [
                                        6026,
                                        6028
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 173,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 173,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "range": [
                                        6031,
                                        6035
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 173,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 173,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "range": [
                                      6026,
                                      6035
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 173,
                                        "column": 21
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "refCountSubscription",
                                      "range": [
                                        6037,
                                        6057
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 173,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 173,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_a",
                                        "range": [
                                          6060,
                                          6062
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 48
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "refCountSubscription",
                                        "range": [
                                          6063,
                                          6083
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 69
                                          }
                                        }
                                      },
                                      "range": [
                                        6060,
                                        6083
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 173,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 173,
                                          "column": 69
                                        }
                                      }
                                    },
                                    "range": [
                                      6037,
                                      6083
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 173,
                                        "column": 69
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "groupSubject",
                                      "range": [
                                        6085,
                                        6097
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 173,
                                          "column": 71
                                        },
                                        "end": {
                                          "line": 173,
                                          "column": 83
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_a",
                                        "range": [
                                          6100,
                                          6102
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 86
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 88
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "groupSubject",
                                        "range": [
                                          6103,
                                          6115
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 89
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 101
                                          }
                                        }
                                      },
                                      "range": [
                                        6100,
                                        6115
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 173,
                                          "column": 86
                                        },
                                        "end": {
                                          "line": 173,
                                          "column": 101
                                        }
                                      }
                                    },
                                    "range": [
                                      6085,
                                      6115
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 173,
                                        "column": 101
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  6022,
                                  6116
                                ],
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 102
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "&&",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "refCountSubscription",
                                    "range": [
                                      6129,
                                      6149
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 174,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "UnaryExpression",
                                    "operator": "!",
                                    "argument": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "refCountSubscription",
                                        "range": [
                                          6154,
                                          6174
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 57
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "closed",
                                        "range": [
                                          6175,
                                          6181
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 64
                                          }
                                        }
                                      },
                                      "range": [
                                        6154,
                                        6181
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 174,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 174,
                                          "column": 64
                                        }
                                      }
                                    },
                                    "prefix": true,
                                    "range": [
                                      6153,
                                      6181
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 174,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 64
                                      }
                                    }
                                  },
                                  "range": [
                                    6129,
                                    6181
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 174,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 174,
                                      "column": 64
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "subscription",
                                            "range": [
                                              6197,
                                              6209
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 175,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 175,
                                                "column": 24
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "add",
                                            "range": [
                                              6210,
                                              6213
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 175,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 175,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            6197,
                                            6213
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 175,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 175,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "NewExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "InnerRefCountSubscription",
                                              "range": [
                                                6218,
                                                6243
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 175,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 175,
                                                  "column": 58
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "refCountSubscription",
                                                "range": [
                                                  6244,
                                                  6264
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 175,
                                                    "column": 59
                                                  },
                                                  "end": {
                                                    "line": 175,
                                                    "column": 79
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              6214,
                                              6265
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 175,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 175,
                                                "column": 80
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          6197,
                                          6266
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "range": [
                                        6197,
                                        6267
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 175,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 175,
                                          "column": 82
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    6183,
                                    6277
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 174,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  6125,
                                  6277
                                ],
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "subscription",
                                      "range": [
                                        6286,
                                        6298
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 177,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 177,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "add",
                                      "range": [
                                        6299,
                                        6302
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 177,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 177,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      6286,
                                      6302
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 177,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 177,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "groupSubject",
                                          "range": [
                                            6303,
                                            6315
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 177,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 177,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "subscribe",
                                          "range": [
                                            6316,
                                            6325
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 177,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 177,
                                              "column": 47
                                            }
                                          }
                                        },
                                        "range": [
                                          6303,
                                          6325
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 177,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 177,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "subscriber",
                                          "range": [
                                            6326,
                                            6336
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 177,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 177,
                                              "column": 58
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        6303,
                                        6337
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 177,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 177,
                                          "column": 59
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    6286,
                                    6338
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 177,
                                      "column": 60
                                    }
                                  }
                                },
                                "range": [
                                  6286,
                                  6339
                                ],
                                "loc": {
                                  "start": {
                                    "line": 177,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 177,
                                    "column": 61
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "subscription",
                                  "range": [
                                    6355,
                                    6367
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 178,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 178,
                                      "column": 27
                                    }
                                  }
                                },
                                "range": [
                                  6348,
                                  6368
                                ],
                                "loc": {
                                  "start": {
                                    "line": 178,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 178,
                                    "column": 28
                                  }
                                }
                              }
                            ],
                            "range": [
                              5965,
                              6374
                            ],
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 67
                              },
                              "end": {
                                "line": 179,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            5943,
                            6374
                          ],
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 45
                            },
                            "end": {
                              "line": 179,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          5902,
                          6374
                        ],
                        "loc": {
                          "start": {
                            "line": 171,
                            "column": 4
                          },
                          "end": {
                            "line": 179,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        5902,
                        6375
                      ],
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 4
                        },
                        "end": {
                          "line": 179,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "GroupedObservable",
                        "range": [
                          6387,
                          6404
                        ],
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 11
                          },
                          "end": {
                            "line": 180,
                            "column": 28
                          }
                        }
                      },
                      "range": [
                        6380,
                        6405
                      ],
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 4
                        },
                        "end": {
                          "line": 180,
                          "column": 29
                        }
                      }
                    }
                  ],
                  "range": [
                    5623,
                    6407
                  ],
                  "loc": {
                    "start": {
                      "line": 163,
                      "column": 50
                    },
                    "end": {
                      "line": 181,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  5605,
                  6407
                ],
                "loc": {
                  "start": {
                    "line": 163,
                    "column": 32
                  },
                  "end": {
                    "line": 181,
                    "column": 1
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "Observable",
                  "range": [
                    6408,
                    6418
                  ],
                  "loc": {
                    "start": {
                      "line": 181,
                      "column": 2
                    },
                    "end": {
                      "line": 181,
                      "column": 12
                    }
                  }
                }
              ],
              "range": [
                5605,
                6419
              ],
              "loc": {
                "start": {
                  "line": 163,
                  "column": 32
                },
                "end": {
                  "line": 181,
                  "column": 13
                }
              }
            },
            "range": [
              5584,
              6420
            ],
            "loc": {
              "start": {
                "line": 163,
                "column": 11
              },
              "end": {
                "line": 181,
                "column": 14
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          5580,
          6421
        ],
        "loc": {
          "start": {
            "line": 163,
            "column": 7
          },
          "end": {
            "line": 181,
            "column": 15
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * An Observable representing values belonging to the same group represented by\n * a common key. The values emitted by a GroupedObservable come from the source\n * Observable. The common key is available as the field `key` on a\n * GroupedObservable instance.\n *\n * @class GroupedObservable<K, T>\n ",
            "range": [
              5270,
              5572
            ],
            "loc": {
              "start": {
                "line": 155,
                "column": 0
              },
              "end": {
                "line": 162,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
            "range": [
              6422,
              6513
            ],
            "loc": {
              "start": {
                "line": 182,
                "column": 0
              },
              "end": {
                "line": 186,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        5573,
        6421
      ],
      "loc": {
        "start": {
          "line": 163,
          "column": 0
        },
        "end": {
          "line": 181,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * An Observable representing values belonging to the same group represented by\n * a common key. The values emitted by a GroupedObservable come from the source\n * Observable. The common key is available as the field `key` on a\n * GroupedObservable instance.\n *\n * @class GroupedObservable<K, T>\n ",
          "range": [
            5270,
            5572
          ],
          "loc": {
            "start": {
              "line": 155,
              "column": 0
            },
            "end": {
              "line": 162,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            6422,
            6513
          ],
          "loc": {
            "start": {
              "line": 182,
              "column": 0
            },
            "end": {
              "line": 186,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "InnerRefCountSubscription",
            "range": [
              6518,
              6543
            ],
            "loc": {
              "start": {
                "line": 187,
                "column": 4
              },
              "end": {
                "line": 187,
                "column": 29
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    6557,
                    6563
                  ],
                  "loc": {
                    "start": {
                      "line": 187,
                      "column": 43
                    },
                    "end": {
                      "line": 187,
                      "column": 49
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          6571,
                          6580
                        ],
                        "loc": {
                          "start": {
                            "line": 188,
                            "column": 4
                          },
                          "end": {
                            "line": 188,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "InnerRefCountSubscription",
                          "range": [
                            6581,
                            6606
                          ],
                          "loc": {
                            "start": {
                              "line": 188,
                              "column": 14
                            },
                            "end": {
                              "line": 188,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            6608,
                            6614
                          ],
                          "loc": {
                            "start": {
                              "line": 188,
                              "column": 41
                            },
                            "end": {
                              "line": 188,
                              "column": 47
                            }
                          }
                        }
                      ],
                      "range": [
                        6571,
                        6615
                      ],
                      "loc": {
                        "start": {
                          "line": 188,
                          "column": 4
                        },
                        "end": {
                          "line": 188,
                          "column": 48
                        }
                      }
                    },
                    "range": [
                      6571,
                      6616
                    ],
                    "loc": {
                      "start": {
                        "line": 188,
                        "column": 4
                      },
                      "end": {
                        "line": 188,
                        "column": 49
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "InnerRefCountSubscription",
                      "range": [
                        6630,
                        6655
                      ],
                      "loc": {
                        "start": {
                          "line": 189,
                          "column": 13
                        },
                        "end": {
                          "line": 189,
                          "column": 38
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "parent",
                        "range": [
                          6656,
                          6662
                        ],
                        "loc": {
                          "start": {
                            "line": 189,
                            "column": 39
                          },
                          "end": {
                            "line": 189,
                            "column": 45
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  6674,
                                  6680
                                ],
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  6681,
                                  6685
                                ],
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                6674,
                                6685
                              ],
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 8
                                },
                                "end": {
                                  "line": 190,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  6686,
                                  6690
                                ],
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 24
                                  }
                                }
                              }
                            ],
                            "range": [
                              6674,
                              6691
                            ],
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 8
                              },
                              "end": {
                                "line": 190,
                                "column": 25
                              }
                            }
                          },
                          "range": [
                            6674,
                            6692
                          ],
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 8
                            },
                            "end": {
                              "line": 190,
                              "column": 26
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  6701,
                                  6705
                                ],
                                "loc": {
                                  "start": {
                                    "line": 191,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 191,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "parent",
                                "range": [
                                  6706,
                                  6712
                                ],
                                "loc": {
                                  "start": {
                                    "line": 191,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 191,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                6701,
                                6712
                              ],
                              "loc": {
                                "start": {
                                  "line": 191,
                                  "column": 8
                                },
                                "end": {
                                  "line": 191,
                                  "column": 19
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "parent",
                              "range": [
                                6715,
                                6721
                              ],
                              "loc": {
                                "start": {
                                  "line": 191,
                                  "column": 22
                                },
                                "end": {
                                  "line": 191,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              6701,
                              6721
                            ],
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 8
                              },
                              "end": {
                                "line": 191,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            6701,
                            6722
                          ],
                          "loc": {
                            "start": {
                              "line": 191,
                              "column": 8
                            },
                            "end": {
                              "line": 191,
                              "column": 29
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "UpdateExpression",
                            "operator": "++",
                            "argument": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "parent",
                                "range": [
                                  6731,
                                  6737
                                ],
                                "loc": {
                                  "start": {
                                    "line": 192,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 192,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "count",
                                "range": [
                                  6738,
                                  6743
                                ],
                                "loc": {
                                  "start": {
                                    "line": 192,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 192,
                                    "column": 20
                                  }
                                }
                              },
                              "range": [
                                6731,
                                6743
                              ],
                              "loc": {
                                "start": {
                                  "line": 192,
                                  "column": 8
                                },
                                "end": {
                                  "line": 192,
                                  "column": 20
                                }
                              }
                            },
                            "prefix": false,
                            "range": [
                              6731,
                              6745
                            ],
                            "loc": {
                              "start": {
                                "line": 192,
                                "column": 8
                              },
                              "end": {
                                "line": 192,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            6731,
                            6746
                          ],
                          "loc": {
                            "start": {
                              "line": 192,
                              "column": 8
                            },
                            "end": {
                              "line": 192,
                              "column": 23
                            }
                          }
                        }
                      ],
                      "range": [
                        6664,
                        6752
                      ],
                      "loc": {
                        "start": {
                          "line": 189,
                          "column": 47
                        },
                        "end": {
                          "line": 193,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      6621,
                      6752
                    ],
                    "loc": {
                      "start": {
                        "line": 189,
                        "column": 4
                      },
                      "end": {
                        "line": 193,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "InnerRefCountSubscription",
                            "range": [
                              6757,
                              6782
                            ],
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 4
                              },
                              "end": {
                                "line": 194,
                                "column": 29
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              6783,
                              6792
                            ],
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 30
                              },
                              "end": {
                                "line": 194,
                                "column": 39
                              }
                            }
                          },
                          "range": [
                            6757,
                            6792
                          ],
                          "loc": {
                            "start": {
                              "line": 194,
                              "column": 4
                            },
                            "end": {
                              "line": 194,
                              "column": 39
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "unsubscribe",
                          "range": [
                            6793,
                            6804
                          ],
                          "loc": {
                            "start": {
                              "line": 194,
                              "column": 40
                            },
                            "end": {
                              "line": 194,
                              "column": 51
                            }
                          }
                        },
                        "range": [
                          6757,
                          6804
                        ],
                        "loc": {
                          "start": {
                            "line": 194,
                            "column": 4
                          },
                          "end": {
                            "line": 194,
                            "column": 51
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "parent",
                                    "range": [
                                      6833,
                                      6839
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 195,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 195,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        6842,
                                        6846
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 195,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 195,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "parent",
                                      "range": [
                                        6847,
                                        6853
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 195,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 195,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      6842,
                                      6853
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 195,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 195,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    6833,
                                    6853
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 195,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 195,
                                      "column": 32
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                6829,
                                6854
                              ],
                              "loc": {
                                "start": {
                                  "line": 195,
                                  "column": 8
                                },
                                "end": {
                                  "line": 195,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "LogicalExpression",
                                "operator": "&&",
                                "left": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "parent",
                                      "range": [
                                        6868,
                                        6874
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 196,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 196,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closed",
                                      "range": [
                                        6875,
                                        6881
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 196,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 196,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "range": [
                                      6868,
                                      6881
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 196,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 196,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    6867,
                                    6881
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 196,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 196,
                                      "column": 26
                                    }
                                  }
                                },
                                "right": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        6886,
                                        6890
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 196,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 196,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closed",
                                      "range": [
                                        6891,
                                        6897
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 196,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 196,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      6886,
                                      6897
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 196,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 196,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    6885,
                                    6897
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 196,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 196,
                                      "column": 42
                                    }
                                  }
                                },
                                "range": [
                                  6867,
                                  6897
                                ],
                                "loc": {
                                  "start": {
                                    "line": 196,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 196,
                                    "column": 42
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "_super",
                                              "range": [
                                                6913,
                                                6919
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 197,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 197,
                                                  "column": 18
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "prototype",
                                              "range": [
                                                6920,
                                                6929
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 197,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 197,
                                                  "column": 28
                                                }
                                              }
                                            },
                                            "range": [
                                              6913,
                                              6929
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 197,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 197,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "unsubscribe",
                                            "range": [
                                              6930,
                                              6941
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 197,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 197,
                                                "column": 40
                                              }
                                            }
                                          },
                                          "range": [
                                            6913,
                                            6941
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 197,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 197,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "call",
                                          "range": [
                                            6942,
                                            6946
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 197,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 197,
                                              "column": 45
                                            }
                                          }
                                        },
                                        "range": [
                                          6913,
                                          6946
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 45
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ThisExpression",
                                          "range": [
                                            6947,
                                            6951
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 197,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 197,
                                              "column": 50
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        6913,
                                        6952
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 51
                                        }
                                      }
                                    },
                                    "range": [
                                      6913,
                                      6953
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 197,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 197,
                                        "column": 52
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "operator": "-=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "parent",
                                          "range": [
                                            6966,
                                            6972
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "count",
                                          "range": [
                                            6973,
                                            6978
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 198,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 198,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "range": [
                                          6966,
                                          6978
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": 1,
                                        "raw": "1",
                                        "range": [
                                          6982,
                                          6983
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 29
                                          }
                                        }
                                      },
                                      "range": [
                                        6966,
                                        6983
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 198,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 198,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "range": [
                                      6966,
                                      6984
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 30
                                      }
                                    }
                                  },
                                  {
                                    "type": "IfStatement",
                                    "test": {
                                      "type": "LogicalExpression",
                                      "operator": "&&",
                                      "left": {
                                        "type": "BinaryExpression",
                                        "operator": "===",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "parent",
                                            "range": [
                                              7001,
                                              7007
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 199,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 199,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "count",
                                            "range": [
                                              7008,
                                              7013
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 199,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 199,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            7001,
                                            7013
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 199,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 199,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "value": 0,
                                          "raw": "0",
                                          "range": [
                                            7018,
                                            7019
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 199,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 199,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "range": [
                                          7001,
                                          7019
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 199,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 199,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "parent",
                                          "range": [
                                            7023,
                                            7029
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 199,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 199,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "attemptedToUnsubscribe",
                                          "range": [
                                            7030,
                                            7052
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 199,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 199,
                                              "column": 67
                                            }
                                          }
                                        },
                                        "range": [
                                          7023,
                                          7052
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 199,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 199,
                                            "column": 67
                                          }
                                        }
                                      },
                                      "range": [
                                        7001,
                                        7052
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 199,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 199,
                                          "column": 67
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "parent",
                                                "range": [
                                                  7072,
                                                  7078
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 200,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 200,
                                                    "column": 22
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "unsubscribe",
                                                "range": [
                                                  7079,
                                                  7090
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 200,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 200,
                                                    "column": 34
                                                  }
                                                }
                                              },
                                              "range": [
                                                7072,
                                                7090
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 200,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 200,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              7072,
                                              7092
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 200,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 200,
                                                "column": 36
                                              }
                                            }
                                          },
                                          "range": [
                                            7072,
                                            7093
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 200,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 200,
                                              "column": 37
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        7054,
                                        7107
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 199,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 201,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "alternate": null,
                                    "range": [
                                      6997,
                                      7107
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 199,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 201,
                                        "column": 13
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  6899,
                                  7117
                                ],
                                "loc": {
                                  "start": {
                                    "line": 196,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                6863,
                                7117
                              ],
                              "loc": {
                                "start": {
                                  "line": 196,
                                  "column": 8
                                },
                                "end": {
                                  "line": 202,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            6819,
                            7123
                          ],
                          "loc": {
                            "start": {
                              "line": 194,
                              "column": 66
                            },
                            "end": {
                              "line": 203,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          6807,
                          7123
                        ],
                        "loc": {
                          "start": {
                            "line": 194,
                            "column": 54
                          },
                          "end": {
                            "line": 203,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        6757,
                        7123
                      ],
                      "loc": {
                        "start": {
                          "line": 194,
                          "column": 4
                        },
                        "end": {
                          "line": 203,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      6757,
                      7124
                    ],
                    "loc": {
                      "start": {
                        "line": 194,
                        "column": 4
                      },
                      "end": {
                        "line": 203,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "InnerRefCountSubscription",
                      "range": [
                        7136,
                        7161
                      ],
                      "loc": {
                        "start": {
                          "line": 204,
                          "column": 11
                        },
                        "end": {
                          "line": 204,
                          "column": 36
                        }
                      }
                    },
                    "range": [
                      7129,
                      7162
                    ],
                    "loc": {
                      "start": {
                        "line": 204,
                        "column": 4
                      },
                      "end": {
                        "line": 204,
                        "column": 37
                      }
                    }
                  }
                ],
                "range": [
                  6565,
                  7164
                ],
                "loc": {
                  "start": {
                    "line": 187,
                    "column": 51
                  },
                  "end": {
                    "line": 205,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                6547,
                7164
              ],
              "loc": {
                "start": {
                  "line": 187,
                  "column": 33
                },
                "end": {
                  "line": 205,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscription",
                "range": [
                  7165,
                  7177
                ],
                "loc": {
                  "start": {
                    "line": 205,
                    "column": 2
                  },
                  "end": {
                    "line": 205,
                    "column": 14
                  }
                }
              }
            ],
            "range": [
              6547,
              7178
            ],
            "loc": {
              "start": {
                "line": 187,
                "column": 33
              },
              "end": {
                "line": 205,
                "column": 15
              }
            }
          },
          "range": [
            6518,
            7179
          ],
          "loc": {
            "start": {
              "line": 187,
              "column": 4
            },
            "end": {
              "line": 205,
              "column": 16
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        6514,
        7180
      ],
      "loc": {
        "start": {
          "line": 187,
          "column": 0
        },
        "end": {
          "line": 205,
          "column": 17
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            6422,
            6513
          ],
          "loc": {
            "start": {
              "line": 182,
              "column": 0
            },
            "end": {
              "line": 186,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=groupBy.js.map",
          "range": [
            7181,
            7216
          ],
          "loc": {
            "start": {
              "line": 206,
              "column": 0
            },
            "end": {
              "line": 206,
              "column": 35
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    7180
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 205,
      "column": 17
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": " tslint:disable:max-line-length ",
      "range": [
        252,
        288
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 36
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        1079,
        1170
      ],
      "loc": {
        "start": {
          "line": 23,
          "column": 0
        },
        "end": {
          "line": 27,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        4325,
        4416
      ],
      "loc": {
        "start": {
          "line": 123,
          "column": 0
        },
        "end": {
          "line": 127,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * An Observable representing values belonging to the same group represented by\n * a common key. The values emitted by a GroupedObservable come from the source\n * Observable. The common key is available as the field `key` on a\n * GroupedObservable instance.\n *\n * @class GroupedObservable<K, T>\n ",
      "range": [
        5270,
        5572
      ],
      "loc": {
        "start": {
          "line": 155,
          "column": 0
        },
        "end": {
          "line": 162,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        6422,
        6513
      ],
      "loc": {
        "start": {
          "line": 182,
          "column": 0
        },
        "end": {
          "line": 186,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=groupBy.js.map",
      "range": [
        7181,
        7216
      ],
      "loc": {
        "start": {
          "line": 206,
          "column": 0
        },
        "end": {
          "line": 206,
          "column": 35
        }
      }
    }
  ]
}