{
  "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": "Subject",
            "range": [
              53,
              60
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 16
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subject",
            "range": [
              53,
              60
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 16
              }
            }
          },
          "range": [
            53,
            60
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 16
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subject",
        "raw": "'../Subject'",
        "range": [
          68,
          80
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 24
          },
          "end": {
            "line": 2,
            "column": 36
          }
        }
      },
      "range": [
        44,
        81
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 37
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Branch out the source Observable values as a nested Observable with each\n * nested Observable emitting at most `windowSize` values.\n *\n * <span class=\"informal\">It's like {@link bufferCount}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowCount.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows every `startWindowEvery`\n * items, each containing no more than `windowSize` items. When the source\n * Observable completes or encounters an error, the output Observable emits\n * the current window and propagates the notification from the source\n * Observable. If `startWindowEvery` is not provided, then new windows are\n * started immediately at the start of the source and when each window completes\n * with size `windowSize`.\n *\n * @example <caption>Ignore every 3rd click event, starting from the first one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(3)\n *   .map(win => win.skip(1)) // skip first of every 3 clicks\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Ignore every 3rd click event, starting from the third one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(2, 3)\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link bufferCount}\n *\n * @param {number} windowSize The maximum number of values emitted by each\n * window.\n * @param {number} [startWindowEvery] Interval at which to start a new window.\n * For example if `startWindowEvery` is `2`, then a new window will be started\n * on every other value from the source. A new window is started at the\n * beginning of the source by default.\n * @return {Observable<Observable<T>>} An Observable of windows, which in turn\n * are Observable of values.\n * @method windowCount\n * @owner Observable\n ",
          "range": [
            82,
            2256
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 50,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "windowCount",
          "range": [
            2273,
            2284
          ],
          "loc": {
            "start": {
              "line": 51,
              "column": 16
            },
            "end": {
              "line": 51,
              "column": 27
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "windowSize",
            "range": [
              2285,
              2295
            ],
            "loc": {
              "start": {
                "line": 51,
                "column": 28
              },
              "end": {
                "line": 51,
                "column": 38
              }
            }
          },
          {
            "type": "Identifier",
            "name": "startWindowEvery",
            "range": [
              2297,
              2313
            ],
            "loc": {
              "start": {
                "line": 51,
                "column": 40
              },
              "end": {
                "line": 51,
                "column": 56
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "IfStatement",
              "test": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "Identifier",
                  "name": "startWindowEvery",
                  "range": [
                    2325,
                    2341
                  ],
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 8
                    },
                    "end": {
                      "line": 52,
                      "column": 24
                    }
                  }
                },
                "right": {
                  "type": "UnaryExpression",
                  "operator": "void",
                  "argument": {
                    "type": "Literal",
                    "value": 0,
                    "raw": "0",
                    "range": [
                      2351,
                      2352
                    ],
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 34
                      },
                      "end": {
                        "line": 52,
                        "column": 35
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    2346,
                    2352
                  ],
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 29
                    },
                    "end": {
                      "line": 52,
                      "column": 35
                    }
                  }
                },
                "range": [
                  2325,
                  2352
                ],
                "loc": {
                  "start": {
                    "line": 52,
                    "column": 8
                  },
                  "end": {
                    "line": 52,
                    "column": 35
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "startWindowEvery",
                        "range": [
                          2356,
                          2372
                        ],
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 39
                          },
                          "end": {
                            "line": 52,
                            "column": 55
                          }
                        }
                      },
                      "right": {
                        "type": "Literal",
                        "value": 0,
                        "raw": "0",
                        "range": [
                          2375,
                          2376
                        ],
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 58
                          },
                          "end": {
                            "line": 52,
                            "column": 59
                          }
                        }
                      },
                      "range": [
                        2356,
                        2376
                      ],
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 39
                        },
                        "end": {
                          "line": 52,
                          "column": 59
                        }
                      }
                    },
                    "range": [
                      2356,
                      2377
                    ],
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 39
                      },
                      "end": {
                        "line": 52,
                        "column": 60
                      }
                    }
                  }
                ],
                "range": [
                  2354,
                  2379
                ],
                "loc": {
                  "start": {
                    "line": 52,
                    "column": 37
                  },
                  "end": {
                    "line": 52,
                    "column": 62
                  }
                }
              },
              "alternate": null,
              "range": [
                2321,
                2379
              ],
              "loc": {
                "start": {
                  "line": 52,
                  "column": 4
                },
                "end": {
                  "line": 52,
                  "column": 62
                }
              }
            },
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      2391,
                      2395
                    ],
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 11
                      },
                      "end": {
                        "line": 53,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      2396,
                      2400
                    ],
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 16
                      },
                      "end": {
                        "line": 53,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    2391,
                    2400
                  ],
                  "loc": {
                    "start": {
                      "line": 53,
                      "column": 11
                    },
                    "end": {
                      "line": 53,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "WindowCountOperator",
                      "range": [
                        2405,
                        2424
                      ],
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 25
                        },
                        "end": {
                          "line": 53,
                          "column": 44
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "windowSize",
                        "range": [
                          2425,
                          2435
                        ],
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 45
                          },
                          "end": {
                            "line": 53,
                            "column": 55
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "startWindowEvery",
                        "range": [
                          2437,
                          2453
                        ],
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 57
                          },
                          "end": {
                            "line": 53,
                            "column": 73
                          }
                        }
                      }
                    ],
                    "range": [
                      2401,
                      2454
                    ],
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 21
                      },
                      "end": {
                        "line": 53,
                        "column": 74
                      }
                    }
                  }
                ],
                "range": [
                  2391,
                  2455
                ],
                "loc": {
                  "start": {
                    "line": 53,
                    "column": 11
                  },
                  "end": {
                    "line": 53,
                    "column": 75
                  }
                }
              },
              "range": [
                2384,
                2456
              ],
              "loc": {
                "start": {
                  "line": 53,
                  "column": 4
                },
                "end": {
                  "line": 53,
                  "column": 76
                }
              }
            }
          ],
          "range": [
            2315,
            2458
          ],
          "loc": {
            "start": {
              "line": 51,
              "column": 58
            },
            "end": {
              "line": 54,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          2264,
          2458
        ],
        "loc": {
          "start": {
            "line": 51,
            "column": 7
          },
          "end": {
            "line": 54,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Branch out the source Observable values as a nested Observable with each\n * nested Observable emitting at most `windowSize` values.\n *\n * <span class=\"informal\">It's like {@link bufferCount}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowCount.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows every `startWindowEvery`\n * items, each containing no more than `windowSize` items. When the source\n * Observable completes or encounters an error, the output Observable emits\n * the current window and propagates the notification from the source\n * Observable. If `startWindowEvery` is not provided, then new windows are\n * started immediately at the start of the source and when each window completes\n * with size `windowSize`.\n *\n * @example <caption>Ignore every 3rd click event, starting from the first one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(3)\n *   .map(win => win.skip(1)) // skip first of every 3 clicks\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Ignore every 3rd click event, starting from the third one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(2, 3)\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link bufferCount}\n *\n * @param {number} windowSize The maximum number of values emitted by each\n * window.\n * @param {number} [startWindowEvery] Interval at which to start a new window.\n * For example if `startWindowEvery` is `2`, then a new window will be started\n * on every other value from the source. A new window is started at the\n * beginning of the source by default.\n * @return {Observable<Observable<T>>} An Observable of windows, which in turn\n * are Observable of values.\n * @method windowCount\n * @owner Observable\n ",
            "range": [
              82,
              2256
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 50,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        2257,
        2458
      ],
      "loc": {
        "start": {
          "line": 51,
          "column": 0
        },
        "end": {
          "line": 54,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Branch out the source Observable values as a nested Observable with each\n * nested Observable emitting at most `windowSize` values.\n *\n * <span class=\"informal\">It's like {@link bufferCount}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowCount.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows every `startWindowEvery`\n * items, each containing no more than `windowSize` items. When the source\n * Observable completes or encounters an error, the output Observable emits\n * the current window and propagates the notification from the source\n * Observable. If `startWindowEvery` is not provided, then new windows are\n * started immediately at the start of the source and when each window completes\n * with size `windowSize`.\n *\n * @example <caption>Ignore every 3rd click event, starting from the first one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(3)\n *   .map(win => win.skip(1)) // skip first of every 3 clicks\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Ignore every 3rd click event, starting from the third one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(2, 3)\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link bufferCount}\n *\n * @param {number} windowSize The maximum number of values emitted by each\n * window.\n * @param {number} [startWindowEvery] Interval at which to start a new window.\n * For example if `startWindowEvery` is `2`, then a new window will be started\n * on every other value from the source. A new window is started at the\n * beginning of the source by default.\n * @return {Observable<Observable<T>>} An Observable of windows, which in turn\n * are Observable of values.\n * @method windowCount\n * @owner Observable\n ",
          "range": [
            82,
            2256
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 50,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "WindowCountOperator",
            "range": [
              2463,
              2482
            ],
            "loc": {
              "start": {
                "line": 55,
                "column": 4
              },
              "end": {
                "line": 55,
                "column": 23
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "WindowCountOperator",
                      "range": [
                        2513,
                        2532
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 13
                        },
                        "end": {
                          "line": 56,
                          "column": 32
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "windowSize",
                        "range": [
                          2533,
                          2543
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 33
                          },
                          "end": {
                            "line": 56,
                            "column": 43
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "startWindowEvery",
                        "range": [
                          2545,
                          2561
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 45
                          },
                          "end": {
                            "line": 56,
                            "column": 61
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2573,
                                  2577
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "windowSize",
                                "range": [
                                  2578,
                                  2588
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 23
                                  }
                                }
                              },
                              "range": [
                                2573,
                                2588
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 8
                                },
                                "end": {
                                  "line": 57,
                                  "column": 23
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "windowSize",
                              "range": [
                                2591,
                                2601
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 26
                                },
                                "end": {
                                  "line": 57,
                                  "column": 36
                                }
                              }
                            },
                            "range": [
                              2573,
                              2601
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 36
                              }
                            }
                          },
                          "range": [
                            2573,
                            2602
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 37
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  2611,
                                  2615
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "startWindowEvery",
                                "range": [
                                  2616,
                                  2632
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 29
                                  }
                                }
                              },
                              "range": [
                                2611,
                                2632
                              ],
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 8
                                },
                                "end": {
                                  "line": 58,
                                  "column": 29
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "startWindowEvery",
                              "range": [
                                2635,
                                2651
                              ],
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 32
                                },
                                "end": {
                                  "line": 58,
                                  "column": 48
                                }
                              }
                            },
                            "range": [
                              2611,
                              2651
                            ],
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 48
                              }
                            }
                          },
                          "range": [
                            2611,
                            2652
                          ],
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 49
                            }
                          }
                        }
                      ],
                      "range": [
                        2563,
                        2658
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 63
                        },
                        "end": {
                          "line": 59,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      2504,
                      2658
                    ],
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 4
                      },
                      "end": {
                        "line": 59,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "WindowCountOperator",
                            "range": [
                              2663,
                              2682
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 4
                              },
                              "end": {
                                "line": 60,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2683,
                              2692
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 24
                              },
                              "end": {
                                "line": 60,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            2663,
                            2692
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 4
                            },
                            "end": {
                              "line": 60,
                              "column": 33
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            2693,
                            2697
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 34
                            },
                            "end": {
                              "line": 60,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          2663,
                          2697
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 4
                          },
                          "end": {
                            "line": 60,
                            "column": 38
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              2710,
                              2720
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 51
                              },
                              "end": {
                                "line": 60,
                                "column": 61
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              2722,
                              2728
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 63
                              },
                              "end": {
                                "line": 60,
                                "column": 69
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      2747,
                                      2753
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      2754,
                                      2764
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    2747,
                                    2764
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "WindowCountSubscriber",
                                      "range": [
                                        2769,
                                        2790
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          2791,
                                          2801
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 61,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 61,
                                            "column": 69
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2803,
                                            2807
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 61,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 75
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "windowSize",
                                          "range": [
                                            2808,
                                            2818
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 61,
                                              "column": 76
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 86
                                            }
                                          }
                                        },
                                        "range": [
                                          2803,
                                          2818
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 61,
                                            "column": 71
                                          },
                                          "end": {
                                            "line": 61,
                                            "column": 86
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2820,
                                            2824
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 61,
                                              "column": 88
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 92
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "startWindowEvery",
                                          "range": [
                                            2825,
                                            2841
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 61,
                                              "column": 93
                                            },
                                            "end": {
                                              "line": 61,
                                              "column": 109
                                            }
                                          }
                                        },
                                        "range": [
                                          2820,
                                          2841
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 61,
                                            "column": 88
                                          },
                                          "end": {
                                            "line": 61,
                                            "column": 109
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2765,
                                      2842
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 110
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2747,
                                  2843
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 111
                                  }
                                }
                              },
                              "range": [
                                2740,
                                2844
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 8
                                },
                                "end": {
                                  "line": 61,
                                  "column": 112
                                }
                              }
                            }
                          ],
                          "range": [
                            2730,
                            2850
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 71
                            },
                            "end": {
                              "line": 62,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2700,
                          2850
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 41
                          },
                          "end": {
                            "line": 62,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2663,
                        2850
                      ],
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 4
                        },
                        "end": {
                          "line": 62,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2663,
                      2851
                    ],
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 4
                      },
                      "end": {
                        "line": 62,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "WindowCountOperator",
                      "range": [
                        2863,
                        2882
                      ],
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 11
                        },
                        "end": {
                          "line": 63,
                          "column": 30
                        }
                      }
                    },
                    "range": [
                      2856,
                      2883
                    ],
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 4
                      },
                      "end": {
                        "line": 63,
                        "column": 31
                      }
                    }
                  }
                ],
                "range": [
                  2498,
                  2885
                ],
                "loc": {
                  "start": {
                    "line": 55,
                    "column": 39
                  },
                  "end": {
                    "line": 64,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                2486,
                2885
              ],
              "loc": {
                "start": {
                  "line": 55,
                  "column": 27
                },
                "end": {
                  "line": 64,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              2486,
              2887
            ],
            "loc": {
              "start": {
                "line": 55,
                "column": 27
              },
              "end": {
                "line": 64,
                "column": 3
              }
            }
          },
          "range": [
            2463,
            2888
          ],
          "loc": {
            "start": {
              "line": 55,
              "column": 4
            },
            "end": {
              "line": 64,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        2459,
        2889
      ],
      "loc": {
        "start": {
          "line": 55,
          "column": 0
        },
        "end": {
          "line": 64,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            2890,
            2981
          ],
          "loc": {
            "start": {
              "line": 65,
              "column": 0
            },
            "end": {
              "line": 69,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "WindowCountSubscriber",
            "range": [
              2986,
              3007
            ],
            "loc": {
              "start": {
                "line": 70,
                "column": 4
              },
              "end": {
                "line": 70,
                "column": 25
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    3021,
                    3027
                  ],
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 39
                    },
                    "end": {
                      "line": 70,
                      "column": 45
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          3035,
                          3044
                        ],
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 4
                          },
                          "end": {
                            "line": 71,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "WindowCountSubscriber",
                          "range": [
                            3045,
                            3066
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 14
                            },
                            "end": {
                              "line": 71,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            3068,
                            3074
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 37
                            },
                            "end": {
                              "line": 71,
                              "column": 43
                            }
                          }
                        }
                      ],
                      "range": [
                        3035,
                        3075
                      ],
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 4
                        },
                        "end": {
                          "line": 71,
                          "column": 44
                        }
                      }
                    },
                    "range": [
                      3035,
                      3076
                    ],
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 4
                      },
                      "end": {
                        "line": 71,
                        "column": 45
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "WindowCountSubscriber",
                      "range": [
                        3090,
                        3111
                      ],
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 13
                        },
                        "end": {
                          "line": 72,
                          "column": 34
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          3112,
                          3123
                        ],
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 35
                          },
                          "end": {
                            "line": 72,
                            "column": 46
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "windowSize",
                        "range": [
                          3125,
                          3135
                        ],
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 48
                          },
                          "end": {
                            "line": 72,
                            "column": 58
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "startWindowEvery",
                        "range": [
                          3137,
                          3153
                        ],
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 60
                          },
                          "end": {
                            "line": 72,
                            "column": 76
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  3165,
                                  3171
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  3172,
                                  3176
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                3165,
                                3176
                              ],
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 8
                                },
                                "end": {
                                  "line": 73,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  3177,
                                  3181
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  3183,
                                  3194
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              3165,
                              3195
                            ],
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 8
                              },
                              "end": {
                                "line": 73,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            3165,
                            3196
                          ],
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  3205,
                                  3209
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  3210,
                                  3221
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                3205,
                                3221
                              ],
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 8
                                },
                                "end": {
                                  "line": 74,
                                  "column": 24
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "destination",
                              "range": [
                                3224,
                                3235
                              ],
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 27
                                },
                                "end": {
                                  "line": 74,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              3205,
                              3235
                            ],
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 8
                              },
                              "end": {
                                "line": 74,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            3205,
                            3236
                          ],
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  3245,
                                  3249
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "windowSize",
                                "range": [
                                  3250,
                                  3260
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 23
                                  }
                                }
                              },
                              "range": [
                                3245,
                                3260
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 8
                                },
                                "end": {
                                  "line": 75,
                                  "column": 23
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "windowSize",
                              "range": [
                                3263,
                                3273
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 26
                                },
                                "end": {
                                  "line": 75,
                                  "column": 36
                                }
                              }
                            },
                            "range": [
                              3245,
                              3273
                            ],
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 8
                              },
                              "end": {
                                "line": 75,
                                "column": 36
                              }
                            }
                          },
                          "range": [
                            3245,
                            3274
                          ],
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 37
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  3283,
                                  3287
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "startWindowEvery",
                                "range": [
                                  3288,
                                  3304
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 29
                                  }
                                }
                              },
                              "range": [
                                3283,
                                3304
                              ],
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 8
                                },
                                "end": {
                                  "line": 76,
                                  "column": 29
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "startWindowEvery",
                              "range": [
                                3307,
                                3323
                              ],
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 32
                                },
                                "end": {
                                  "line": 76,
                                  "column": 48
                                }
                              }
                            },
                            "range": [
                              3283,
                              3323
                            ],
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 8
                              },
                              "end": {
                                "line": 76,
                                "column": 48
                              }
                            }
                          },
                          "range": [
                            3283,
                            3324
                          ],
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 49
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  3333,
                                  3337
                                ],
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "windows",
                                "range": [
                                  3338,
                                  3345
                                ],
                                "loc": {
                                  "start": {
                                    "line": 77,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 77,
                                    "column": 20
                                  }
                                }
                              },
                              "range": [
                                3333,
                                3345
                              ],
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 8
                                },
                                "end": {
                                  "line": 77,
                                  "column": 20
                                }
                              }
                            },
                            "right": {
                              "type": "ArrayExpression",
                              "elements": [
                                {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "Subject",
                                    "range": [
                                      3353,
                                      3360
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "arguments": [],
                                  "range": [
                                    3349,
                                    3362
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 37
                                    }
                                  }
                                }
                              ],
                              "range": [
                                3348,
                                3363
                              ],
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 23
                                },
                                "end": {
                                  "line": 77,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              3333,
                              3363
                            ],
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 8
                              },
                              "end": {
                                "line": 77,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            3333,
                            3364
                          ],
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  3373,
                                  3377
                                ],
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "count",
                                "range": [
                                  3378,
                                  3383
                                ],
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                3373,
                                3383
                              ],
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 8
                                },
                                "end": {
                                  "line": 78,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                3386,
                                3387
                              ],
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 21
                                },
                                "end": {
                                  "line": 78,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              3373,
                              3387
                            ],
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 8
                              },
                              "end": {
                                "line": 78,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            3373,
                            3388
                          ],
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 8
                            },
                            "end": {
                              "line": 78,
                              "column": 23
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  3397,
                                  3408
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 19
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "next",
                                "range": [
                                  3409,
                                  3413
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                3397,
                                3413
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 8
                                },
                                "end": {
                                  "line": 79,
                                  "column": 24
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3414,
                                      3418
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "windows",
                                    "range": [
                                      3419,
                                      3426
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    3414,
                                    3426
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 37
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Literal",
                                  "value": 0,
                                  "raw": "0",
                                  "range": [
                                    3427,
                                    3428
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 39
                                    }
                                  }
                                },
                                "range": [
                                  3414,
                                  3429
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 40
                                  }
                                }
                              }
                            ],
                            "range": [
                              3397,
                              3430
                            ],
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 8
                              },
                              "end": {
                                "line": 79,
                                "column": 41
                              }
                            }
                          },
                          "range": [
                            3397,
                            3431
                          ],
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 8
                            },
                            "end": {
                              "line": 79,
                              "column": 42
                            }
                          }
                        }
                      ],
                      "range": [
                        3155,
                        3437
                      ],
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 78
                        },
                        "end": {
                          "line": 80,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      3081,
                      3437
                    ],
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 4
                      },
                      "end": {
                        "line": 80,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "WindowCountSubscriber",
                            "range": [
                              3442,
                              3463
                            ],
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 4
                              },
                              "end": {
                                "line": 81,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3464,
                              3473
                            ],
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 26
                              },
                              "end": {
                                "line": 81,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            3442,
                            3473
                          ],
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 4
                            },
                            "end": {
                              "line": 81,
                              "column": 35
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            3474,
                            3479
                          ],
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 36
                            },
                            "end": {
                              "line": 81,
                              "column": 41
                            }
                          }
                        },
                        "range": [
                          3442,
                          3479
                        ],
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 4
                          },
                          "end": {
                            "line": 81,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              3492,
                              3497
                            ],
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 54
                              },
                              "end": {
                                "line": 81,
                                "column": 59
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "startWindowEvery",
                                    "range": [
                                      3513,
                                      3529
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "ConditionalExpression",
                                    "test": {
                                      "type": "BinaryExpression",
                                      "operator": ">",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3533,
                                            3537
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "startWindowEvery",
                                          "range": [
                                            3538,
                                            3554
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 53
                                            }
                                          }
                                        },
                                        "range": [
                                          3533,
                                          3554
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Literal",
                                        "value": 0,
                                        "raw": "0",
                                        "range": [
                                          3557,
                                          3558
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 57
                                          }
                                        }
                                      },
                                      "range": [
                                        3533,
                                        3558
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "consequent": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3562,
                                          3566
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 65
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "startWindowEvery",
                                        "range": [
                                          3567,
                                          3583
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 82
                                          }
                                        }
                                      },
                                      "range": [
                                        3562,
                                        3583
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 82
                                        }
                                      }
                                    },
                                    "alternate": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3586,
                                          3590
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 89
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "windowSize",
                                        "range": [
                                          3591,
                                          3601
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 90
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 100
                                          }
                                        }
                                      },
                                      "range": [
                                        3586,
                                        3601
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 82,
                                          "column": 85
                                        },
                                        "end": {
                                          "line": 82,
                                          "column": 100
                                        }
                                      }
                                    },
                                    "range": [
                                      3532,
                                      3601
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 100
                                      }
                                    }
                                  },
                                  "range": [
                                    3513,
                                    3601
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 82,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 82,
                                      "column": 100
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3509,
                                3602
                              ],
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 8
                                },
                                "end": {
                                  "line": 82,
                                  "column": 101
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "destination",
                                    "range": [
                                      3615,
                                      3626
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3629,
                                        3633
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3634,
                                        3645
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "range": [
                                      3629,
                                      3645
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 42
                                      }
                                    }
                                  },
                                  "range": [
                                    3615,
                                    3645
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 42
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3611,
                                3646
                              ],
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 8
                                },
                                "end": {
                                  "line": 83,
                                  "column": 43
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "windowSize",
                                    "range": [
                                      3659,
                                      3669
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3672,
                                        3676
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "windowSize",
                                      "range": [
                                        3677,
                                        3687
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "range": [
                                      3672,
                                      3687
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "range": [
                                    3659,
                                    3687
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 40
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3655,
                                3688
                              ],
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 8
                                },
                                "end": {
                                  "line": 84,
                                  "column": 41
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "windows",
                                    "range": [
                                      3701,
                                      3708
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3711,
                                        3715
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "windows",
                                      "range": [
                                        3716,
                                        3723
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 85,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 85,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      3711,
                                      3723
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "range": [
                                    3701,
                                    3723
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 34
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3697,
                                3724
                              ],
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 8
                                },
                                "end": {
                                  "line": 85,
                                  "column": 35
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "len",
                                    "range": [
                                      3737,
                                      3740
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 15
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "windows",
                                      "range": [
                                        3743,
                                        3750
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "length",
                                      "range": [
                                        3751,
                                        3757
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      3743,
                                      3757
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    3737,
                                    3757
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 86,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 86,
                                      "column": 32
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3733,
                                3758
                              ],
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 8
                                },
                                "end": {
                                  "line": 86,
                                  "column": 33
                                }
                              }
                            },
                            {
                              "type": "ForStatement",
                              "init": {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "i",
                                      "range": [
                                        3776,
                                        3777
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "Literal",
                                      "value": 0,
                                      "raw": "0",
                                      "range": [
                                        3780,
                                        3781
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      3776,
                                      3781
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 22
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3772,
                                  3781
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 22
                                  }
                                }
                              },
                              "test": {
                                "type": "LogicalExpression",
                                "operator": "&&",
                                "left": {
                                  "type": "BinaryExpression",
                                  "operator": "<",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      3783,
                                      3784
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "len",
                                    "range": [
                                      3787,
                                      3790
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    3783,
                                    3790
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 31
                                    }
                                  }
                                },
                                "right": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3795,
                                        3799
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closed",
                                      "range": [
                                        3800,
                                        3806
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 47
                                        }
                                      }
                                    },
                                    "range": [
                                      3795,
                                      3806
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 47
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    3794,
                                    3806
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 47
                                    }
                                  }
                                },
                                "range": [
                                  3783,
                                  3806
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 47
                                  }
                                }
                              },
                              "update": {
                                "type": "UpdateExpression",
                                "operator": "++",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "i",
                                  "range": [
                                    3808,
                                    3809
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 50
                                    }
                                  }
                                },
                                "prefix": false,
                                "range": [
                                  3808,
                                  3811
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 87,
                                    "column": 52
                                  }
                                }
                              },
                              "body": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "windows",
                                            "range": [
                                              3827,
                                              3834
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "i",
                                            "range": [
                                              3835,
                                              3836
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 88,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 88,
                                                "column": 21
                                              }
                                            }
                                          },
                                          "range": [
                                            3827,
                                            3837
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 22
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "next",
                                          "range": [
                                            3838,
                                            3842
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "range": [
                                          3827,
                                          3842
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 88,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 88,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "value",
                                          "range": [
                                            3843,
                                            3848
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 33
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3827,
                                        3849
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      3827,
                                      3850
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3813,
                                  3860
                                ],
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 89,
                                    "column": 9
                                  }
                                }
                              },
                              "range": [
                                3767,
                                3860
                              ],
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 8
                                },
                                "end": {
                                  "line": 89,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "c",
                                    "range": [
                                      3873,
                                      3874
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 13
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "BinaryExpression",
                                    "operator": "+",
                                    "left": {
                                      "type": "BinaryExpression",
                                      "operator": "-",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3877,
                                            3881
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "count",
                                          "range": [
                                            3882,
                                            3887
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 90,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 90,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "range": [
                                          3877,
                                          3887
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "name": "windowSize",
                                        "range": [
                                          3890,
                                          3900
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 90,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 90,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        3877,
                                        3900
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": 1,
                                      "raw": "1",
                                      "range": [
                                        3903,
                                        3904
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 90,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 90,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      3877,
                                      3904
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 90,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 90,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "range": [
                                    3873,
                                    3904
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 90,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 43
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                3869,
                                3905
                              ],
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 8
                                },
                                "end": {
                                  "line": 90,
                                  "column": 44
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "LogicalExpression",
                                "operator": "&&",
                                "left": {
                                  "type": "LogicalExpression",
                                  "operator": "&&",
                                  "left": {
                                    "type": "BinaryExpression",
                                    "operator": ">=",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "c",
                                      "range": [
                                        3918,
                                        3919
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": 0,
                                      "raw": "0",
                                      "range": [
                                        3923,
                                        3924
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "range": [
                                      3918,
                                      3924
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "BinaryExpression",
                                    "operator": "===",
                                    "left": {
                                      "type": "BinaryExpression",
                                      "operator": "%",
                                      "left": {
                                        "type": "Identifier",
                                        "name": "c",
                                        "range": [
                                          3928,
                                          3929
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "name": "startWindowEvery",
                                        "range": [
                                          3932,
                                          3948
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 91,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 91,
                                            "column": 42
                                          }
                                        }
                                      },
                                      "range": [
                                        3928,
                                        3948
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": 0,
                                      "raw": "0",
                                      "range": [
                                        3953,
                                        3954
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 48
                                        }
                                      }
                                    },
                                    "range": [
                                      3928,
                                      3954
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 48
                                      }
                                    }
                                  },
                                  "range": [
                                    3918,
                                    3954
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 48
                                    }
                                  }
                                },
                                "right": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3959,
                                        3963
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closed",
                                      "range": [
                                        3964,
                                        3970
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 91,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 91,
                                          "column": 64
                                        }
                                      }
                                    },
                                    "range": [
                                      3959,
                                      3970
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 91,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 91,
                                        "column": 64
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    3958,
                                    3970
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 64
                                    }
                                  }
                                },
                                "range": [
                                  3918,
                                  3970
                                ],
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 91,
                                    "column": 64
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "windows",
                                              "range": [
                                                3986,
                                                3993
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 19
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "shift",
                                              "range": [
                                                3994,
                                                3999
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 92,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 25
                                                }
                                              }
                                            },
                                            "range": [
                                              3986,
                                              3999
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 92,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "arguments": [],
                                          "range": [
                                            3986,
                                            4001
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "complete",
                                          "range": [
                                            4002,
                                            4010
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 36
                                            }
                                          }
                                        },
                                        "range": [
                                          3986,
                                          4010
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        3986,
                                        4012
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      3986,
                                      4013
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 39
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3972,
                                  4023
                                ],
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                3914,
                                4023
                              ],
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 8
                                },
                                "end": {
                                  "line": 93,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "LogicalExpression",
                                "operator": "&&",
                                "left": {
                                  "type": "BinaryExpression",
                                  "operator": "===",
                                  "left": {
                                    "type": "BinaryExpression",
                                    "operator": "%",
                                    "left": {
                                      "type": "UpdateExpression",
                                      "operator": "++",
                                      "argument": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4038,
                                            4042
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 94,
                                              "column": 14
                                            },
                                            "end": {
                                              "line": 94,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "count",
                                          "range": [
                                            4043,
                                            4048
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 94,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 94,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "range": [
                                          4038,
                                          4048
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 14
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "prefix": true,
                                      "range": [
                                        4036,
                                        4048
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "name": "startWindowEvery",
                                      "range": [
                                        4051,
                                        4067
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      4036,
                                      4067
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": 0,
                                    "raw": "0",
                                    "range": [
                                      4072,
                                      4073
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 49
                                      }
                                    }
                                  },
                                  "range": [
                                    4036,
                                    4073
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 49
                                    }
                                  }
                                },
                                "right": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4078,
                                        4082
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "closed",
                                      "range": [
                                        4083,
                                        4089
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 65
                                        }
                                      }
                                    },
                                    "range": [
                                      4078,
                                      4089
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 65
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    4077,
                                    4089
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 65
                                    }
                                  }
                                },
                                "range": [
                                  4036,
                                  4089
                                ],
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 65
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "VariableDeclaration",
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "id": {
                                          "type": "Identifier",
                                          "name": "window_1",
                                          "range": [
                                            4109,
                                            4117
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "init": {
                                          "type": "NewExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "Subject",
                                            "range": [
                                              4124,
                                              4131
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 95,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 95,
                                                "column": 38
                                              }
                                            }
                                          },
                                          "arguments": [],
                                          "range": [
                                            4120,
                                            4133
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 95,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 95,
                                              "column": 40
                                            }
                                          }
                                        },
                                        "range": [
                                          4109,
                                          4133
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 40
                                          }
                                        }
                                      }
                                    ],
                                    "kind": "var",
                                    "range": [
                                      4105,
                                      4134
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 41
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "windows",
                                          "range": [
                                            4147,
                                            4154
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "push",
                                          "range": [
                                            4155,
                                            4159
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "range": [
                                          4147,
                                          4159
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 96,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 96,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "window_1",
                                          "range": [
                                            4160,
                                            4168
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 96,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 96,
                                              "column": 33
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4147,
                                        4169
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      4147,
                                      4170
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 35
                                      }
                                    }
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "destination",
                                          "range": [
                                            4183,
                                            4194
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 97,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 97,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "next",
                                          "range": [
                                            4195,
                                            4199
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 97,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 97,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "range": [
                                          4183,
                                          4199
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 97,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 97,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "window_1",
                                          "range": [
                                            4200,
                                            4208
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 97,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 97,
                                              "column": 37
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4183,
                                        4209
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      4183,
                                      4210
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 39
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4091,
                                  4220
                                ],
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                4032,
                                4220
                              ],
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 8
                                },
                                "end": {
                                  "line": 98,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            3499,
                            4226
                          ],
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 61
                            },
                            "end": {
                              "line": 99,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3482,
                          4226
                        ],
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 44
                          },
                          "end": {
                            "line": 99,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3442,
                        4226
                      ],
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 4
                        },
                        "end": {
                          "line": 99,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3442,
                      4227
                    ],
                    "loc": {
                      "start": {
                        "line": 81,
                        "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": "WindowCountSubscriber",
                            "range": [
                              4232,
                              4253
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 4
                              },
                              "end": {
                                "line": 100,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              4254,
                              4263
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 26
                              },
                              "end": {
                                "line": 100,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            4232,
                            4263
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 4
                            },
                            "end": {
                              "line": 100,
                              "column": 35
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_error",
                          "range": [
                            4264,
                            4270
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 36
                            },
                            "end": {
                              "line": 100,
                              "column": 42
                            }
                          }
                        },
                        "range": [
                          4232,
                          4270
                        ],
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 4
                          },
                          "end": {
                            "line": 100,
                            "column": 42
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "err",
                            "range": [
                              4283,
                              4286
                            ],
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 55
                              },
                              "end": {
                                "line": 100,
                                "column": 58
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "windows",
                                    "range": [
                                      4302,
                                      4309
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4312,
                                        4316
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "windows",
                                      "range": [
                                        4317,
                                        4324
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      4312,
                                      4324
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "range": [
                                    4302,
                                    4324
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 101,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 101,
                                      "column": 34
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                4298,
                                4325
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 8
                                },
                                "end": {
                                  "line": 101,
                                  "column": 35
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "windows",
                                "range": [
                                  4338,
                                  4345
                                ],
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 102,
                                    "column": 19
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "WhileStatement",
                                    "test": {
                                      "type": "LogicalExpression",
                                      "operator": "&&",
                                      "left": {
                                        "type": "BinaryExpression",
                                        "operator": ">",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "windows",
                                            "range": [
                                              4368,
                                              4375
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "length",
                                            "range": [
                                              4376,
                                              4382
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "range": [
                                            4368,
                                            4382
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "value": 0,
                                          "raw": "0",
                                          "range": [
                                            4385,
                                            4386
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          4368,
                                          4386
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "UnaryExpression",
                                        "operator": "!",
                                        "argument": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              4391,
                                              4395
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 46
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "closed",
                                            "range": [
                                              4396,
                                              4402
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 53
                                              }
                                            }
                                          },
                                          "range": [
                                            4391,
                                            4402
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 53
                                            }
                                          }
                                        },
                                        "prefix": true,
                                        "range": [
                                          4390,
                                          4402
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "range": [
                                        4368,
                                        4402
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "windows",
                                                    "range": [
                                                      4422,
                                                      4429
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 23
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "shift",
                                                    "range": [
                                                      4430,
                                                      4435
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 104,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 104,
                                                        "column": 29
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4422,
                                                    4435
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 104,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 104,
                                                      "column": 29
                                                    }
                                                  }
                                                },
                                                "arguments": [],
                                                "range": [
                                                  4422,
                                                  4437
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "error",
                                                "range": [
                                                  4438,
                                                  4443
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 37
                                                  }
                                                }
                                              },
                                              "range": [
                                                4422,
                                                4443
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 104,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 104,
                                                  "column": 37
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "err",
                                                "range": [
                                                  4444,
                                                  4447
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 104,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 104,
                                                    "column": 41
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4422,
                                              4448
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "range": [
                                            4422,
                                            4449
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 43
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4404,
                                        4463
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "range": [
                                      4361,
                                      4463
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 13
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4347,
                                  4473
                                ],
                                "loc": {
                                  "start": {
                                    "line": 102,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 106,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                4334,
                                4473
                              ],
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 8
                                },
                                "end": {
                                  "line": 106,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4482,
                                        4486
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        4487,
                                        4498
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      4482,
                                      4498
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "error",
                                    "range": [
                                      4499,
                                      4504
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    4482,
                                    4504
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 30
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "err",
                                    "range": [
                                      4505,
                                      4508
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 34
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4482,
                                  4509
                                ],
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                4482,
                                4510
                              ],
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 8
                                },
                                "end": {
                                  "line": 107,
                                  "column": 36
                                }
                              }
                            }
                          ],
                          "range": [
                            4288,
                            4516
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 60
                            },
                            "end": {
                              "line": 108,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4273,
                          4516
                        ],
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 45
                          },
                          "end": {
                            "line": 108,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4232,
                        4516
                      ],
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 4
                        },
                        "end": {
                          "line": 108,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      4232,
                      4517
                    ],
                    "loc": {
                      "start": {
                        "line": 100,
                        "column": 4
                      },
                      "end": {
                        "line": 108,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "WindowCountSubscriber",
                            "range": [
                              4522,
                              4543
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 4
                              },
                              "end": {
                                "line": 109,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              4544,
                              4553
                            ],
                            "loc": {
                              "start": {
                                "line": 109,
                                "column": 26
                              },
                              "end": {
                                "line": 109,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            4522,
                            4553
                          ],
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 4
                            },
                            "end": {
                              "line": 109,
                              "column": 35
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            4554,
                            4563
                          ],
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 36
                            },
                            "end": {
                              "line": 109,
                              "column": 45
                            }
                          }
                        },
                        "range": [
                          4522,
                          4563
                        ],
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 4
                          },
                          "end": {
                            "line": 109,
                            "column": 45
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "windows",
                                    "range": [
                                      4592,
                                      4599
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4602,
                                        4606
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "windows",
                                      "range": [
                                        4607,
                                        4614
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      4602,
                                      4614
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "range": [
                                    4592,
                                    4614
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 110,
                                      "column": 34
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                4588,
                                4615
                              ],
                              "loc": {
                                "start": {
                                  "line": 110,
                                  "column": 8
                                },
                                "end": {
                                  "line": 110,
                                  "column": 35
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "Identifier",
                                "name": "windows",
                                "range": [
                                  4628,
                                  4635
                                ],
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 19
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "WhileStatement",
                                    "test": {
                                      "type": "LogicalExpression",
                                      "operator": "&&",
                                      "left": {
                                        "type": "BinaryExpression",
                                        "operator": ">",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "windows",
                                            "range": [
                                              4658,
                                              4665
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "length",
                                            "range": [
                                              4666,
                                              4672
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 33
                                              }
                                            }
                                          },
                                          "range": [
                                            4658,
                                            4672
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Literal",
                                          "value": 0,
                                          "raw": "0",
                                          "range": [
                                            4675,
                                            4676
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          4658,
                                          4676
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "UnaryExpression",
                                        "operator": "!",
                                        "argument": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              4681,
                                              4685
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 46
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "closed",
                                            "range": [
                                              4686,
                                              4692
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 112,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 112,
                                                "column": 53
                                              }
                                            }
                                          },
                                          "range": [
                                            4681,
                                            4692
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 53
                                            }
                                          }
                                        },
                                        "prefix": true,
                                        "range": [
                                          4680,
                                          4692
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 112,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "range": [
                                        4658,
                                        4692
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "windows",
                                                    "range": [
                                                      4712,
                                                      4719
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 113,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 113,
                                                        "column": 23
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "shift",
                                                    "range": [
                                                      4720,
                                                      4725
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 113,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 113,
                                                        "column": 29
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4712,
                                                    4725
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 113,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 113,
                                                      "column": 29
                                                    }
                                                  }
                                                },
                                                "arguments": [],
                                                "range": [
                                                  4712,
                                                  4727
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "complete",
                                                "range": [
                                                  4728,
                                                  4736
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 40
                                                  }
                                                }
                                              },
                                              "range": [
                                                4712,
                                                4736
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 113,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 113,
                                                  "column": 40
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              4712,
                                              4738
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 113,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 113,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "range": [
                                            4712,
                                            4739
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 113,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 113,
                                              "column": 43
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4694,
                                        4753
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 114,
                                          "column": 13
                                        }
                                      }
                                    },
                                    "range": [
                                      4651,
                                      4753
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 114,
                                        "column": 13
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  4637,
                                  4763
                                ],
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 115,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                4624,
                                4763
                              ],
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 8
                                },
                                "end": {
                                  "line": 115,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        4772,
                                        4776
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        4777,
                                        4788
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      4772,
                                      4788
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "complete",
                                    "range": [
                                      4789,
                                      4797
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    4772,
                                    4797
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 33
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  4772,
                                  4799
                                ],
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                4772,
                                4800
                              ],
                              "loc": {
                                "start": {
                                  "line": 116,
                                  "column": 8
                                },
                                "end": {
                                  "line": 116,
                                  "column": 36
                                }
                              }
                            }
                          ],
                          "range": [
                            4578,
                            4806
                          ],
                          "loc": {
                            "start": {
                              "line": 109,
                              "column": 60
                            },
                            "end": {
                              "line": 117,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4566,
                          4806
                        ],
                        "loc": {
                          "start": {
                            "line": 109,
                            "column": 48
                          },
                          "end": {
                            "line": 117,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4522,
                        4806
                      ],
                      "loc": {
                        "start": {
                          "line": 109,
                          "column": 4
                        },
                        "end": {
                          "line": 117,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      4522,
                      4807
                    ],
                    "loc": {
                      "start": {
                        "line": 109,
                        "column": 4
                      },
                      "end": {
                        "line": 117,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "WindowCountSubscriber",
                            "range": [
                              4812,
                              4833
                            ],
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 4
                              },
                              "end": {
                                "line": 118,
                                "column": 25
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              4834,
                              4843
                            ],
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 26
                              },
                              "end": {
                                "line": 118,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            4812,
                            4843
                          ],
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 4
                            },
                            "end": {
                              "line": 118,
                              "column": 35
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_unsubscribe",
                          "range": [
                            4844,
                            4856
                          ],
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 36
                            },
                            "end": {
                              "line": 118,
                              "column": 48
                            }
                          }
                        },
                        "range": [
                          4812,
                          4856
                        ],
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 4
                          },
                          "end": {
                            "line": 118,
                            "column": 48
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      4881,
                                      4885
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 119,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 119,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "count",
                                    "range": [
                                      4886,
                                      4891
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 119,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 119,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "range": [
                                    4881,
                                    4891
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 18
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": 0,
                                  "raw": "0",
                                  "range": [
                                    4894,
                                    4895
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 119,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 119,
                                      "column": 22
                                    }
                                  }
                                },
                                "range": [
                                  4881,
                                  4895
                                ],
                                "loc": {
                                  "start": {
                                    "line": 119,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 119,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                4881,
                                4896
                              ],
                              "loc": {
                                "start": {
                                  "line": 119,
                                  "column": 8
                                },
                                "end": {
                                  "line": 119,
                                  "column": 23
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      4905,
                                      4909
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "windows",
                                    "range": [
                                      4910,
                                      4917
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "range": [
                                    4905,
                                    4917
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 20
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": null,
                                  "raw": "null",
                                  "range": [
                                    4920,
                                    4924
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 27
                                    }
                                  }
                                },
                                "range": [
                                  4905,
                                  4924
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                4905,
                                4925
                              ],
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 8
                                },
                                "end": {
                                  "line": 120,
                                  "column": 28
                                }
                              }
                            }
                          ],
                          "range": [
                            4871,
                            4931
                          ],
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 63
                            },
                            "end": {
                              "line": 121,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          4859,
                          4931
                        ],
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 51
                          },
                          "end": {
                            "line": 121,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        4812,
                        4931
                      ],
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 4
                        },
                        "end": {
                          "line": 121,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      4812,
                      4932
                    ],
                    "loc": {
                      "start": {
                        "line": 118,
                        "column": 4
                      },
                      "end": {
                        "line": 121,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "WindowCountSubscriber",
                      "range": [
                        4944,
                        4965
                      ],
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 11
                        },
                        "end": {
                          "line": 122,
                          "column": 32
                        }
                      }
                    },
                    "range": [
                      4937,
                      4966
                    ],
                    "loc": {
                      "start": {
                        "line": 122,
                        "column": 4
                      },
                      "end": {
                        "line": 122,
                        "column": 33
                      }
                    }
                  }
                ],
                "range": [
                  3029,
                  4968
                ],
                "loc": {
                  "start": {
                    "line": 70,
                    "column": 47
                  },
                  "end": {
                    "line": 123,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                3011,
                4968
              ],
              "loc": {
                "start": {
                  "line": 70,
                  "column": 29
                },
                "end": {
                  "line": 123,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscriber",
                "range": [
                  4969,
                  4979
                ],
                "loc": {
                  "start": {
                    "line": 123,
                    "column": 2
                  },
                  "end": {
                    "line": 123,
                    "column": 12
                  }
                }
              }
            ],
            "range": [
              3011,
              4980
            ],
            "loc": {
              "start": {
                "line": 70,
                "column": 29
              },
              "end": {
                "line": 123,
                "column": 13
              }
            }
          },
          "range": [
            2986,
            4981
          ],
          "loc": {
            "start": {
              "line": 70,
              "column": 4
            },
            "end": {
              "line": 123,
              "column": 14
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        2982,
        4982
      ],
      "loc": {
        "start": {
          "line": 70,
          "column": 0
        },
        "end": {
          "line": 123,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            2890,
            2981
          ],
          "loc": {
            "start": {
              "line": 65,
              "column": 0
            },
            "end": {
              "line": 69,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=windowCount.js.map",
          "range": [
            4983,
            5022
          ],
          "loc": {
            "start": {
              "line": 124,
              "column": 0
            },
            "end": {
              "line": 124,
              "column": 39
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    4982
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 123,
      "column": 15
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Branch out the source Observable values as a nested Observable with each\n * nested Observable emitting at most `windowSize` values.\n *\n * <span class=\"informal\">It's like {@link bufferCount}, but emits a nested\n * Observable instead of an array.</span>\n *\n * <img src=\"./img/windowCount.png\" width=\"100%\">\n *\n * Returns an Observable that emits windows of items it collects from the source\n * Observable. The output Observable emits windows every `startWindowEvery`\n * items, each containing no more than `windowSize` items. When the source\n * Observable completes or encounters an error, the output Observable emits\n * the current window and propagates the notification from the source\n * Observable. If `startWindowEvery` is not provided, then new windows are\n * started immediately at the start of the source and when each window completes\n * with size `windowSize`.\n *\n * @example <caption>Ignore every 3rd click event, starting from the first one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(3)\n *   .map(win => win.skip(1)) // skip first of every 3 clicks\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @example <caption>Ignore every 3rd click event, starting from the third one</caption>\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.windowCount(2, 3)\n *   .mergeAll(); // flatten the Observable-of-Observables\n * result.subscribe(x => console.log(x));\n *\n * @see {@link window}\n * @see {@link windowTime}\n * @see {@link windowToggle}\n * @see {@link windowWhen}\n * @see {@link bufferCount}\n *\n * @param {number} windowSize The maximum number of values emitted by each\n * window.\n * @param {number} [startWindowEvery] Interval at which to start a new window.\n * For example if `startWindowEvery` is `2`, then a new window will be started\n * on every other value from the source. A new window is started at the\n * beginning of the source by default.\n * @return {Observable<Observable<T>>} An Observable of windows, which in turn\n * are Observable of values.\n * @method windowCount\n * @owner Observable\n ",
      "range": [
        82,
        2256
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 50,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        2890,
        2981
      ],
      "loc": {
        "start": {
          "line": 65,
          "column": 0
        },
        "end": {
          "line": 69,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=windowCount.js.map",
      "range": [
        4983,
        5022
      ],
      "loc": {
        "start": {
          "line": 124,
          "column": 0
        },
        "end": {
          "line": 124,
          "column": 39
        }
      }
    }
  ]
}