{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subject",
            "range": [
              9,
              16
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 16
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subject",
            "range": [
              9,
              16
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 16
              }
            }
          },
          "range": [
            9,
            16
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 16
            }
          }
        },
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "AnonymousSubject",
            "range": [
              18,
              34
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 18
              },
              "end": {
                "line": 1,
                "column": 34
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "AnonymousSubject",
            "range": [
              18,
              34
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 18
              },
              "end": {
                "line": 1,
                "column": 34
              }
            }
          },
          "range": [
            18,
            34
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 18
            },
            "end": {
              "line": 1,
              "column": 34
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../../Subject",
        "raw": "'../../Subject'",
        "range": [
          42,
          57
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 42
          },
          "end": {
            "line": 1,
            "column": 57
          }
        }
      },
      "range": [
        0,
        58
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 58
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              68,
              78
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              68,
              78
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 19
              }
            }
          },
          "range": [
            68,
            78
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../../Subscriber",
        "raw": "'../../Subscriber'",
        "range": [
          86,
          104
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 27
          },
          "end": {
            "line": 2,
            "column": 45
          }
        }
      },
      "range": [
        59,
        105
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 46
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Observable",
            "range": [
              115,
              125
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Observable",
            "range": [
              115,
              125
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "range": [
            115,
            125
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../../Observable",
        "raw": "'../../Observable'",
        "range": [
          133,
          151
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 27
          },
          "end": {
            "line": 3,
            "column": 45
          }
        }
      },
      "range": [
        106,
        152
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 46
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscription",
            "range": [
              162,
              174
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 21
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscription",
            "range": [
              162,
              174
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 21
              }
            }
          },
          "range": [
            162,
            174
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 21
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../../Subscription",
        "raw": "'../../Subscription'",
        "range": [
          182,
          202
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 29
          },
          "end": {
            "line": 4,
            "column": 49
          }
        }
      },
      "range": [
        153,
        203
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 50
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "root",
            "range": [
              213,
              217
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 13
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "root",
            "range": [
              213,
              217
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 13
              }
            }
          },
          "range": [
            213,
            217
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 9
            },
            "end": {
              "line": 5,
              "column": 13
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../../util/root",
        "raw": "'../../util/root'",
        "range": [
          225,
          242
        ],
        "loc": {
          "start": {
            "line": 5,
            "column": 21
          },
          "end": {
            "line": 5,
            "column": 38
          }
        }
      },
      "range": [
        204,
        243
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 39
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "ReplaySubject",
            "range": [
              253,
              266
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 22
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "ReplaySubject",
            "range": [
              253,
              266
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 9
              },
              "end": {
                "line": 6,
                "column": 22
              }
            }
          },
          "range": [
            253,
            266
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 9
            },
            "end": {
              "line": 6,
              "column": 22
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../../ReplaySubject",
        "raw": "'../../ReplaySubject'",
        "range": [
          274,
          295
        ],
        "loc": {
          "start": {
            "line": 6,
            "column": 30
          },
          "end": {
            "line": 6,
            "column": 51
          }
        }
      },
      "range": [
        244,
        296
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 52
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "tryCatch",
            "range": [
              306,
              314
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 9
              },
              "end": {
                "line": 7,
                "column": 17
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "tryCatch",
            "range": [
              306,
              314
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 9
              },
              "end": {
                "line": 7,
                "column": 17
              }
            }
          },
          "range": [
            306,
            314
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 9
            },
            "end": {
              "line": 7,
              "column": 17
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../../util/tryCatch",
        "raw": "'../../util/tryCatch'",
        "range": [
          322,
          343
        ],
        "loc": {
          "start": {
            "line": 7,
            "column": 25
          },
          "end": {
            "line": 7,
            "column": 46
          }
        }
      },
      "range": [
        297,
        344
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 47
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "errorObject",
            "range": [
              354,
              365
            ],
            "loc": {
              "start": {
                "line": 8,
                "column": 9
              },
              "end": {
                "line": 8,
                "column": 20
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "errorObject",
            "range": [
              354,
              365
            ],
            "loc": {
              "start": {
                "line": 8,
                "column": 9
              },
              "end": {
                "line": 8,
                "column": 20
              }
            }
          },
          "range": [
            354,
            365
          ],
          "loc": {
            "start": {
              "line": 8,
              "column": 9
            },
            "end": {
              "line": 8,
              "column": 20
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../../util/errorObject",
        "raw": "'../../util/errorObject'",
        "range": [
          373,
          397
        ],
        "loc": {
          "start": {
            "line": 8,
            "column": 28
          },
          "end": {
            "line": 8,
            "column": 52
          }
        }
      },
      "range": [
        345,
        398
      ],
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 53
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "assign",
            "range": [
              408,
              414
            ],
            "loc": {
              "start": {
                "line": 9,
                "column": 9
              },
              "end": {
                "line": 9,
                "column": 15
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "assign",
            "range": [
              408,
              414
            ],
            "loc": {
              "start": {
                "line": 9,
                "column": 9
              },
              "end": {
                "line": 9,
                "column": 15
              }
            }
          },
          "range": [
            408,
            414
          ],
          "loc": {
            "start": {
              "line": 9,
              "column": 9
            },
            "end": {
              "line": 9,
              "column": 15
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../../util/assign",
        "raw": "'../../util/assign'",
        "range": [
          422,
          441
        ],
        "loc": {
          "start": {
            "line": 9,
            "column": 23
          },
          "end": {
            "line": 9,
            "column": 42
          }
        }
      },
      "range": [
        399,
        442
      ],
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 43
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
          "range": [
            443,
            537
          ],
          "loc": {
            "start": {
              "line": 10,
              "column": 0
            },
            "end": {
              "line": 14,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "WebSocketSubject",
              "range": [
                549,
                565
              ],
              "loc": {
                "start": {
                  "line": 15,
                  "column": 11
                },
                "end": {
                  "line": 15,
                  "column": 27
                }
              }
            },
            "init": {
              "type": "CallExpression",
              "callee": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "_super",
                    "range": [
                      579,
                      585
                    ],
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 41
                      },
                      "end": {
                        "line": 15,
                        "column": 47
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "__extends",
                          "range": [
                            593,
                            602
                          ],
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 4
                            },
                            "end": {
                              "line": 16,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "WebSocketSubject",
                            "range": [
                              603,
                              619
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 14
                              },
                              "end": {
                                "line": 16,
                                "column": 30
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "_super",
                            "range": [
                              621,
                              627
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 32
                              },
                              "end": {
                                "line": 16,
                                "column": 38
                              }
                            }
                          }
                        ],
                        "range": [
                          593,
                          628
                        ],
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 4
                          },
                          "end": {
                            "line": 16,
                            "column": 39
                          }
                        }
                      },
                      "range": [
                        593,
                        629
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 4
                        },
                        "end": {
                          "line": 16,
                          "column": 40
                        }
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "id": {
                        "type": "Identifier",
                        "name": "WebSocketSubject",
                        "range": [
                          643,
                          659
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 13
                          },
                          "end": {
                            "line": 17,
                            "column": 29
                          }
                        }
                      },
                      "params": [
                        {
                          "type": "Identifier",
                          "name": "urlConfigOrSource",
                          "range": [
                            660,
                            677
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 30
                            },
                            "end": {
                              "line": 17,
                              "column": 47
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "destination",
                          "range": [
                            679,
                            690
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 49
                            },
                            "end": {
                              "line": 17,
                              "column": 60
                            }
                          }
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "BinaryExpression",
                              "operator": "instanceof",
                              "left": {
                                "type": "Identifier",
                                "name": "urlConfigOrSource",
                                "range": [
                                  706,
                                  723
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 29
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "Observable",
                                "range": [
                                  735,
                                  745
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 51
                                  }
                                }
                              },
                              "range": [
                                706,
                                745
                              ],
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 12
                                },
                                "end": {
                                  "line": 18,
                                  "column": 51
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_super",
                                        "range": [
                                          761,
                                          767
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "call",
                                        "range": [
                                          768,
                                          772
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "range": [
                                        761,
                                        772
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "ThisExpression",
                                        "range": [
                                          773,
                                          777
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 28
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "destination",
                                        "range": [
                                          779,
                                          790
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 41
                                          }
                                        }
                                      },
                                      {
                                        "type": "Identifier",
                                        "name": "urlConfigOrSource",
                                        "range": [
                                          792,
                                          809
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 60
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      761,
                                      810
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 61
                                      }
                                    }
                                  },
                                  "range": [
                                    761,
                                    811
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 62
                                    }
                                  }
                                }
                              ],
                              "range": [
                                747,
                                821
                              ],
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 53
                                },
                                "end": {
                                  "line": 20,
                                  "column": 9
                                }
                              }
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_super",
                                        "range": [
                                          849,
                                          855
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 18
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "call",
                                        "range": [
                                          856,
                                          860
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "range": [
                                        849,
                                        860
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "ThisExpression",
                                        "range": [
                                          861,
                                          865
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 28
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      849,
                                      866
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 22,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 22,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    849,
                                    867
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 22,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 22,
                                      "column": 30
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          880,
                                          884
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "WebSocketCtor",
                                        "range": [
                                          885,
                                          898
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "range": [
                                        880,
                                        898
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 30
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "root",
                                        "range": [
                                          901,
                                          905
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "WebSocket",
                                        "range": [
                                          906,
                                          915
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "range": [
                                        901,
                                        915
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 47
                                        }
                                      }
                                    },
                                    "range": [
                                      880,
                                      915
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 47
                                      }
                                    }
                                  },
                                  "range": [
                                    880,
                                    916
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 48
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          929,
                                          933
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 24,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 24,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_output",
                                        "range": [
                                          934,
                                          941
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 24,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 24,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "range": [
                                        929,
                                        941
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 24,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 24,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "Subject",
                                        "range": [
                                          948,
                                          955
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 24,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 24,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        944,
                                        957
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 24,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 24,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "range": [
                                      929,
                                      957
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 24,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 24,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "range": [
                                    929,
                                    958
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 41
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "BinaryExpression",
                                    "operator": "===",
                                    "left": {
                                      "type": "UnaryExpression",
                                      "operator": "typeof",
                                      "argument": {
                                        "type": "Identifier",
                                        "name": "urlConfigOrSource",
                                        "range": [
                                          982,
                                          999
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 40
                                          }
                                        }
                                      },
                                      "prefix": true,
                                      "range": [
                                        975,
                                        999
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 40
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": "string",
                                      "raw": "'string'",
                                      "range": [
                                        1004,
                                        1012
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "range": [
                                      975,
                                      1012
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 25,
                                        "column": 53
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                1032,
                                                1036
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "url",
                                              "range": [
                                                1037,
                                                1040
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 24
                                                }
                                              }
                                            },
                                            "range": [
                                              1032,
                                              1040
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 26,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 26,
                                                "column": 24
                                              }
                                            }
                                          },
                                          "right": {
                                            "type": "Identifier",
                                            "name": "urlConfigOrSource",
                                            "range": [
                                              1043,
                                              1060
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 26,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 26,
                                                "column": 44
                                              }
                                            }
                                          },
                                          "range": [
                                            1032,
                                            1060
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 26,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 26,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "range": [
                                          1032,
                                          1061
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 26,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 26,
                                            "column": 45
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1014,
                                      1075
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 27,
                                        "column": 13
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "assign",
                                            "range": [
                                              1192,
                                              1198
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 30,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 30,
                                                "column": 22
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "ThisExpression",
                                              "range": [
                                                1199,
                                                1203
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 30,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 30,
                                                  "column": 27
                                                }
                                              }
                                            },
                                            {
                                              "type": "Identifier",
                                              "name": "urlConfigOrSource",
                                              "range": [
                                                1205,
                                                1222
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 30,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 30,
                                                  "column": 46
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            1192,
                                            1223
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 47
                                            }
                                          }
                                        },
                                        "range": [
                                          1192,
                                          1224
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 48
                                          }
                                        },
                                        "leadingComments": [
                                          {
                                            "type": "Line",
                                            "value": " WARNING: config object could override important members here.",
                                            "range": [
                                              1111,
                                              1175
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 29,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 29,
                                                "column": 80
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    ],
                                    "range": [
                                      1093,
                                      1238
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 28,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 13
                                      }
                                    }
                                  },
                                  "range": [
                                    971,
                                    1238
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 13
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "UnaryExpression",
                                    "operator": "!",
                                    "argument": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1256,
                                          1260
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 21
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "WebSocketCtor",
                                        "range": [
                                          1261,
                                          1274
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "range": [
                                        1256,
                                        1274
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "prefix": true,
                                    "range": [
                                      1255,
                                      1274
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ThrowStatement",
                                        "argument": {
                                          "type": "NewExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "Error",
                                            "range": [
                                              1304,
                                              1309
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 33,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 33,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Literal",
                                              "value": "no WebSocket constructor can be found",
                                              "raw": "'no WebSocket constructor can be found'",
                                              "range": [
                                                1310,
                                                1349
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 33,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 33,
                                                  "column": 71
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            1300,
                                            1350
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 33,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 33,
                                              "column": 72
                                            }
                                          }
                                        },
                                        "range": [
                                          1294,
                                          1351
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 33,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 73
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1276,
                                      1365
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 13
                                      }
                                    }
                                  },
                                  "alternate": null,
                                  "range": [
                                    1251,
                                    1365
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 13
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1378,
                                          1382
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "destination",
                                        "range": [
                                          1383,
                                          1394
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "range": [
                                        1378,
                                        1394
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "ReplaySubject",
                                        "range": [
                                          1401,
                                          1414
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 48
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        1397,
                                        1416
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 50
                                        }
                                      }
                                    },
                                    "range": [
                                      1378,
                                      1416
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 50
                                      }
                                    }
                                  },
                                  "range": [
                                    1378,
                                    1417
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 51
                                    }
                                  }
                                }
                              ],
                              "range": [
                                835,
                                1427
                              ],
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 13
                                },
                                "end": {
                                  "line": 36,
                                  "column": 9
                                }
                              }
                            },
                            "range": [
                              702,
                              1427
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 8
                              },
                              "end": {
                                "line": 36,
                                "column": 9
                              }
                            }
                          }
                        ],
                        "range": [
                          692,
                          1433
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 62
                          },
                          "end": {
                            "line": 37,
                            "column": 5
                          }
                        }
                      },
                      "generator": false,
                      "expression": false,
                      "range": [
                        634,
                        1433
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 4
                        },
                        "end": {
                          "line": 37,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "WebSocketSubject",
                              "range": [
                                1438,
                                1454
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 4
                                },
                                "end": {
                                  "line": 38,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1455,
                                1464
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 21
                                },
                                "end": {
                                  "line": 38,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              1438,
                              1464
                            ],
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 4
                              },
                              "end": {
                                "line": 38,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "resultSelector",
                            "range": [
                              1465,
                              1479
                            ],
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 31
                              },
                              "end": {
                                "line": 38,
                                "column": 45
                              }
                            }
                          },
                          "range": [
                            1438,
                            1479
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 4
                            },
                            "end": {
                              "line": 38,
                              "column": 45
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "e",
                              "range": [
                                1492,
                                1493
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 58
                                },
                                "end": {
                                  "line": 38,
                                  "column": 59
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "JSON",
                                      "range": [
                                        1512,
                                        1516
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "parse",
                                      "range": [
                                        1517,
                                        1522
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "range": [
                                      1512,
                                      1522
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 39,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 39,
                                        "column": 25
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "e",
                                        "range": [
                                          1523,
                                          1524
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "data",
                                        "range": [
                                          1525,
                                          1529
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 39,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 39,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        1523,
                                        1529
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 39,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 39,
                                          "column": 32
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1512,
                                    1530
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 39,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 39,
                                      "column": 33
                                    }
                                  }
                                },
                                "range": [
                                  1505,
                                  1531
                                ],
                                "loc": {
                                  "start": {
                                    "line": 39,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 39,
                                    "column": 34
                                  }
                                }
                              }
                            ],
                            "range": [
                              1495,
                              1537
                            ],
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 61
                              },
                              "end": {
                                "line": 40,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1482,
                            1537
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 48
                            },
                            "end": {
                              "line": 40,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1438,
                          1537
                        ],
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 4
                          },
                          "end": {
                            "line": 40,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1438,
                        1538
                      ],
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 4
                        },
                        "end": {
                          "line": 40,
                          "column": 6
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * @param urlConfigOrSource\n     * @return {WebSocketSubject}\n     * @static true\n     * @name webSocket\n     * @owner Observable\n     ",
                          "range": [
                            1543,
                            1688
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 4
                            },
                            "end": {
                              "line": 47,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "WebSocketSubject",
                            "range": [
                              1693,
                              1709
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 4
                              },
                              "end": {
                                "line": 48,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "create",
                            "range": [
                              1710,
                              1716
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 21
                              },
                              "end": {
                                "line": 48,
                                "column": 27
                              }
                            }
                          },
                          "range": [
                            1693,
                            1716
                          ],
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 4
                            },
                            "end": {
                              "line": 48,
                              "column": 27
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "urlConfigOrSource",
                              "range": [
                                1729,
                                1746
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 40
                                },
                                "end": {
                                  "line": 48,
                                  "column": 57
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "WebSocketSubject",
                                    "range": [
                                      1769,
                                      1785
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "name": "urlConfigOrSource",
                                      "range": [
                                        1786,
                                        1803
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 53
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1765,
                                    1804
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 54
                                    }
                                  }
                                },
                                "range": [
                                  1758,
                                  1805
                                ],
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 55
                                  }
                                }
                              }
                            ],
                            "range": [
                              1748,
                              1811
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 59
                              },
                              "end": {
                                "line": 50,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1719,
                            1811
                          ],
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 30
                            },
                            "end": {
                              "line": 50,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1693,
                          1811
                        ],
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 4
                          },
                          "end": {
                            "line": 50,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1693,
                        1812
                      ],
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 4
                        },
                        "end": {
                          "line": 50,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n     * @param urlConfigOrSource\n     * @return {WebSocketSubject}\n     * @static true\n     * @name webSocket\n     * @owner Observable\n     ",
                          "range": [
                            1543,
                            1688
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 4
                            },
                            "end": {
                              "line": 47,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "WebSocketSubject",
                              "range": [
                                1817,
                                1833
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 4
                                },
                                "end": {
                                  "line": 51,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                1834,
                                1843
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 21
                                },
                                "end": {
                                  "line": 51,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              1817,
                              1843
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 4
                              },
                              "end": {
                                "line": 51,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "lift",
                            "range": [
                              1844,
                              1848
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 31
                              },
                              "end": {
                                "line": 51,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            1817,
                            1848
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 4
                            },
                            "end": {
                              "line": 51,
                              "column": 35
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "operator",
                              "range": [
                                1861,
                                1869
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 48
                                },
                                "end": {
                                  "line": 51,
                                  "column": 56
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "sock",
                                      "range": [
                                        1885,
                                        1889
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "WebSocketSubject",
                                        "range": [
                                          1896,
                                          1912
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "ThisExpression",
                                          "range": [
                                            1913,
                                            1917
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 44
                                            }
                                          }
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              1919,
                                              1923
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 52,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 52,
                                                "column": 50
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "destination",
                                            "range": [
                                              1924,
                                              1935
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 52,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 52,
                                                "column": 62
                                              }
                                            }
                                          },
                                          "range": [
                                            1919,
                                            1935
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 62
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        1892,
                                        1936
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 63
                                        }
                                      }
                                    },
                                    "range": [
                                      1885,
                                      1936
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 52,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 63
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  1881,
                                  1937
                                ],
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 64
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "sock",
                                      "range": [
                                        1946,
                                        1950
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "operator",
                                      "range": [
                                        1951,
                                        1959
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "range": [
                                      1946,
                                      1959
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "operator",
                                    "range": [
                                      1962,
                                      1970
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    1946,
                                    1970
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 32
                                    }
                                  }
                                },
                                "range": [
                                  1946,
                                  1971
                                ],
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 33
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "sock",
                                  "range": [
                                    1987,
                                    1991
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  1980,
                                  1992
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 20
                                  }
                                }
                              }
                            ],
                            "range": [
                              1871,
                              1998
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 58
                              },
                              "end": {
                                "line": 55,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            1851,
                            1998
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 38
                            },
                            "end": {
                              "line": 55,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          1817,
                          1998
                        ],
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 4
                          },
                          "end": {
                            "line": 55,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1817,
                        1999
                      ],
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 4
                        },
                        "end": {
                          "line": 55,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "WebSocketSubject",
                              "range": [
                                2004,
                                2020
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 4
                                },
                                "end": {
                                  "line": 56,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                2021,
                                2030
                              ],
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 21
                                },
                                "end": {
                                  "line": 56,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              2004,
                              2030
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 4
                              },
                              "end": {
                                "line": 56,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_resetState",
                            "range": [
                              2031,
                              2042
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 31
                              },
                              "end": {
                                "line": 56,
                                "column": 42
                              }
                            }
                          },
                          "range": [
                            2004,
                            2042
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 4
                            },
                            "end": {
                              "line": 56,
                              "column": 42
                            }
                          }
                        },
                        "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": [
                                        2067,
                                        2071
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "socket",
                                      "range": [
                                        2072,
                                        2078
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 57,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 57,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "range": [
                                      2067,
                                      2078
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Literal",
                                    "value": null,
                                    "raw": "null",
                                    "range": [
                                      2081,
                                      2085
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 57,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 57,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    2067,
                                    2085
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  2067,
                                  2086
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 27
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2100,
                                        2104
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        2105,
                                        2111
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      2100,
                                      2111
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    2099,
                                    2111
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 24
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              2127,
                                              2131
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "destination",
                                            "range": [
                                              2132,
                                              2143
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            2127,
                                            2143
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "NewExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "ReplaySubject",
                                            "range": [
                                              2150,
                                              2163
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 59,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 59,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "arguments": [],
                                          "range": [
                                            2146,
                                            2165
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "range": [
                                          2127,
                                          2165
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 50
                                          }
                                        }
                                      },
                                      "range": [
                                        2127,
                                        2166
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 51
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2113,
                                    2176
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  2095,
                                  2176
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2185,
                                        2189
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "_output",
                                      "range": [
                                        2190,
                                        2197
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "range": [
                                      2185,
                                      2197
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 20
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "Subject",
                                      "range": [
                                        2204,
                                        2211
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 61,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 61,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "arguments": [],
                                    "range": [
                                      2200,
                                      2213
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 36
                                      }
                                    }
                                  },
                                  "range": [
                                    2185,
                                    2213
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 36
                                    }
                                  }
                                },
                                "range": [
                                  2185,
                                  2214
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              2057,
                              2220
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 57
                              },
                              "end": {
                                "line": 62,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            2045,
                            2220
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 45
                            },
                            "end": {
                              "line": 62,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          2004,
                          2220
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 4
                          },
                          "end": {
                            "line": 62,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2004,
                        2221
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 4
                        },
                        "end": {
                          "line": 62,
                          "column": 6
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "Line",
                          "value": " TODO: factor this out to be a proper Operator/Subscriber implementation and eliminate closures",
                          "range": [
                            2226,
                            2323
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 4
                            },
                            "end": {
                              "line": 63,
                              "column": 101
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "WebSocketSubject",
                              "range": [
                                2328,
                                2344
                              ],
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 4
                                },
                                "end": {
                                  "line": 64,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                2345,
                                2354
                              ],
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 21
                                },
                                "end": {
                                  "line": 64,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              2328,
                              2354
                            ],
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 4
                              },
                              "end": {
                                "line": 64,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "multiplex",
                            "range": [
                              2355,
                              2364
                            ],
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 31
                              },
                              "end": {
                                "line": 64,
                                "column": 40
                              }
                            }
                          },
                          "range": [
                            2328,
                            2364
                          ],
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 4
                            },
                            "end": {
                              "line": 64,
                              "column": 40
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subMsg",
                              "range": [
                                2377,
                                2383
                              ],
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 53
                                },
                                "end": {
                                  "line": 64,
                                  "column": 59
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "unsubMsg",
                              "range": [
                                2385,
                                2393
                              ],
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 61
                                },
                                "end": {
                                  "line": 64,
                                  "column": 69
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "name": "messageFilter",
                              "range": [
                                2395,
                                2408
                              ],
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 71
                                },
                                "end": {
                                  "line": 64,
                                  "column": 84
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "self",
                                      "range": [
                                        2424,
                                        2428
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2431,
                                        2435
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "range": [
                                      2424,
                                      2435
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 23
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  2420,
                                  2436
                                ],
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 65,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "NewExpression",
                                  "callee": {
                                    "type": "Identifier",
                                    "name": "Observable",
                                    "range": [
                                      2456,
                                      2466
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "FunctionExpression",
                                      "id": null,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "name": "observer",
                                          "range": [
                                            2477,
                                            2485
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 48
                                            }
                                          }
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "id": {
                                                  "type": "Identifier",
                                                  "name": "result",
                                                  "range": [
                                                    2505,
                                                    2511
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 22
                                                    }
                                                  }
                                                },
                                                "init": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "Identifier",
                                                      "name": "tryCatch",
                                                      "range": [
                                                        2514,
                                                        2522
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 67,
                                                          "column": 25
                                                        },
                                                        "end": {
                                                          "line": 67,
                                                          "column": 33
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "subMsg",
                                                        "range": [
                                                          2523,
                                                          2529
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 67,
                                                            "column": 34
                                                          },
                                                          "end": {
                                                            "line": 67,
                                                            "column": 40
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      2514,
                                                      2530
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 67,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 67,
                                                        "column": 41
                                                      }
                                                    }
                                                  },
                                                  "arguments": [],
                                                  "range": [
                                                    2514,
                                                    2532
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 43
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2505,
                                                  2532
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 67,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 67,
                                                    "column": 43
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "range": [
                                              2501,
                                              2533
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 44
                                              }
                                            }
                                          },
                                          {
                                            "type": "IfStatement",
                                            "test": {
                                              "type": "BinaryExpression",
                                              "operator": "===",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "result",
                                                "range": [
                                                  2550,
                                                  2556
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 68,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 68,
                                                    "column": 22
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "Identifier",
                                                "name": "errorObject",
                                                "range": [
                                                  2561,
                                                  2572
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 68,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 68,
                                                    "column": 38
                                                  }
                                                }
                                              },
                                              "range": [
                                                2550,
                                                2572
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "observer",
                                                        "range": [
                                                          2592,
                                                          2600
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 69,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 69,
                                                            "column": 24
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "error",
                                                        "range": [
                                                          2601,
                                                          2606
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 69,
                                                            "column": 25
                                                          },
                                                          "end": {
                                                            "line": 69,
                                                            "column": 30
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        2592,
                                                        2606
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 69,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 69,
                                                          "column": 30
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "errorObject",
                                                          "range": [
                                                            2607,
                                                            2618
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 69,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 69,
                                                              "column": 42
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "e",
                                                          "range": [
                                                            2619,
                                                            2620
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 69,
                                                              "column": 43
                                                            },
                                                            "end": {
                                                              "line": 69,
                                                              "column": 44
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          2607,
                                                          2620
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 69,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 69,
                                                            "column": 44
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      2592,
                                                      2621
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 69,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 69,
                                                        "column": 45
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2592,
                                                    2622
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 69,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 69,
                                                      "column": 46
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2574,
                                                2636
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 13
                                                }
                                              }
                                            },
                                            "alternate": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "self",
                                                        "range": [
                                                          2672,
                                                          2676
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 72,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 72,
                                                            "column": 20
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "next",
                                                        "range": [
                                                          2677,
                                                          2681
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 72,
                                                            "column": 21
                                                          },
                                                          "end": {
                                                            "line": 72,
                                                            "column": 25
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        2672,
                                                        2681
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 72,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 72,
                                                          "column": 25
                                                        }
                                                      }
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "name": "result",
                                                        "range": [
                                                          2682,
                                                          2688
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 72,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 72,
                                                            "column": 32
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      2672,
                                                      2689
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 72,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 72,
                                                        "column": 33
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    2672,
                                                    2690
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 72,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 72,
                                                      "column": 34
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                2654,
                                                2704
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 73,
                                                  "column": 13
                                                }
                                              }
                                            },
                                            "range": [
                                              2546,
                                              2704
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 73,
                                                "column": 13
                                              }
                                            }
                                          },
                                          {
                                            "type": "VariableDeclaration",
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "id": {
                                                  "type": "Identifier",
                                                  "name": "subscription",
                                                  "range": [
                                                    2721,
                                                    2733
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 74,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 74,
                                                      "column": 28
                                                    }
                                                  }
                                                },
                                                "init": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "self",
                                                      "range": [
                                                        2736,
                                                        2740
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 74,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 74,
                                                          "column": 35
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "subscribe",
                                                      "range": [
                                                        2741,
                                                        2750
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 74,
                                                          "column": 36
                                                        },
                                                        "end": {
                                                          "line": 74,
                                                          "column": 45
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      2736,
                                                      2750
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 74,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 74,
                                                        "column": 45
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "FunctionExpression",
                                                      "id": null,
                                                      "params": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "x",
                                                          "range": [
                                                            2761,
                                                            2762
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 74,
                                                              "column": 56
                                                            },
                                                            "end": {
                                                              "line": 74,
                                                              "column": 57
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "body": {
                                                        "type": "BlockStatement",
                                                        "body": [
                                                          {
                                                            "type": "VariableDeclaration",
                                                            "declarations": [
                                                              {
                                                                "type": "VariableDeclarator",
                                                                "id": {
                                                                  "type": "Identifier",
                                                                  "name": "result",
                                                                  "range": [
                                                                    2786,
                                                                    2792
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 75,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 75,
                                                                      "column": 26
                                                                    }
                                                                  }
                                                                },
                                                                "init": {
                                                                  "type": "CallExpression",
                                                                  "callee": {
                                                                    "type": "CallExpression",
                                                                    "callee": {
                                                                      "type": "Identifier",
                                                                      "name": "tryCatch",
                                                                      "range": [
                                                                        2795,
                                                                        2803
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 75,
                                                                          "column": 29
                                                                        },
                                                                        "end": {
                                                                          "line": 75,
                                                                          "column": 37
                                                                        }
                                                                      }
                                                                    },
                                                                    "arguments": [
                                                                      {
                                                                        "type": "Identifier",
                                                                        "name": "messageFilter",
                                                                        "range": [
                                                                          2804,
                                                                          2817
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 75,
                                                                            "column": 38
                                                                          },
                                                                          "end": {
                                                                            "line": 75,
                                                                            "column": 51
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "range": [
                                                                      2795,
                                                                      2818
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 75,
                                                                        "column": 29
                                                                      },
                                                                      "end": {
                                                                        "line": 75,
                                                                        "column": 52
                                                                      }
                                                                    }
                                                                  },
                                                                  "arguments": [
                                                                    {
                                                                      "type": "Identifier",
                                                                      "name": "x",
                                                                      "range": [
                                                                        2819,
                                                                        2820
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 75,
                                                                          "column": 53
                                                                        },
                                                                        "end": {
                                                                          "line": 75,
                                                                          "column": 54
                                                                        }
                                                                      }
                                                                    }
                                                                  ],
                                                                  "range": [
                                                                    2795,
                                                                    2821
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 75,
                                                                      "column": 29
                                                                    },
                                                                    "end": {
                                                                      "line": 75,
                                                                      "column": 55
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  2786,
                                                                  2821
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 75,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 75,
                                                                    "column": 55
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "kind": "var",
                                                            "range": [
                                                              2782,
                                                              2822
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 75,
                                                                "column": 16
                                                              },
                                                              "end": {
                                                                "line": 75,
                                                                "column": 56
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "type": "IfStatement",
                                                            "test": {
                                                              "type": "BinaryExpression",
                                                              "operator": "===",
                                                              "left": {
                                                                "type": "Identifier",
                                                                "name": "result",
                                                                "range": [
                                                                  2843,
                                                                  2849
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 76,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 76,
                                                                    "column": 26
                                                                  }
                                                                }
                                                              },
                                                              "right": {
                                                                "type": "Identifier",
                                                                "name": "errorObject",
                                                                "range": [
                                                                  2854,
                                                                  2865
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 76,
                                                                    "column": 31
                                                                  },
                                                                  "end": {
                                                                    "line": 76,
                                                                    "column": 42
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                2843,
                                                                2865
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 76,
                                                                  "column": 42
                                                                }
                                                              }
                                                            },
                                                            "consequent": {
                                                              "type": "BlockStatement",
                                                              "body": [
                                                                {
                                                                  "type": "ExpressionStatement",
                                                                  "expression": {
                                                                    "type": "CallExpression",
                                                                    "callee": {
                                                                      "type": "MemberExpression",
                                                                      "computed": false,
                                                                      "object": {
                                                                        "type": "Identifier",
                                                                        "name": "observer",
                                                                        "range": [
                                                                          2889,
                                                                          2897
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 77,
                                                                            "column": 20
                                                                          },
                                                                          "end": {
                                                                            "line": 77,
                                                                            "column": 28
                                                                          }
                                                                        }
                                                                      },
                                                                      "property": {
                                                                        "type": "Identifier",
                                                                        "name": "error",
                                                                        "range": [
                                                                          2898,
                                                                          2903
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 77,
                                                                            "column": 29
                                                                          },
                                                                          "end": {
                                                                            "line": 77,
                                                                            "column": 34
                                                                          }
                                                                        }
                                                                      },
                                                                      "range": [
                                                                        2889,
                                                                        2903
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 77,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 77,
                                                                          "column": 34
                                                                        }
                                                                      }
                                                                    },
                                                                    "arguments": [
                                                                      {
                                                                        "type": "MemberExpression",
                                                                        "computed": false,
                                                                        "object": {
                                                                          "type": "Identifier",
                                                                          "name": "errorObject",
                                                                          "range": [
                                                                            2904,
                                                                            2915
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 77,
                                                                              "column": 35
                                                                            },
                                                                            "end": {
                                                                              "line": 77,
                                                                              "column": 46
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "e",
                                                                          "range": [
                                                                            2916,
                                                                            2917
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 77,
                                                                              "column": 47
                                                                            },
                                                                            "end": {
                                                                              "line": 77,
                                                                              "column": 48
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          2904,
                                                                          2917
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 77,
                                                                            "column": 35
                                                                          },
                                                                          "end": {
                                                                            "line": 77,
                                                                            "column": 48
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "range": [
                                                                      2889,
                                                                      2918
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 77,
                                                                        "column": 20
                                                                      },
                                                                      "end": {
                                                                        "line": 77,
                                                                        "column": 49
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    2889,
                                                                    2919
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 77,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 77,
                                                                      "column": 50
                                                                    }
                                                                  }
                                                                }
                                                              ],
                                                              "range": [
                                                                2867,
                                                                2937
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 44
                                                                },
                                                                "end": {
                                                                  "line": 78,
                                                                  "column": 17
                                                                }
                                                              }
                                                            },
                                                            "alternate": {
                                                              "type": "IfStatement",
                                                              "test": {
                                                                "type": "Identifier",
                                                                "name": "result",
                                                                "range": [
                                                                  2963,
                                                                  2969
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 79,
                                                                    "column": 25
                                                                  },
                                                                  "end": {
                                                                    "line": 79,
                                                                    "column": 31
                                                                  }
                                                                }
                                                              },
                                                              "consequent": {
                                                                "type": "BlockStatement",
                                                                "body": [
                                                                  {
                                                                    "type": "ExpressionStatement",
                                                                    "expression": {
                                                                      "type": "CallExpression",
                                                                      "callee": {
                                                                        "type": "MemberExpression",
                                                                        "computed": false,
                                                                        "object": {
                                                                          "type": "Identifier",
                                                                          "name": "observer",
                                                                          "range": [
                                                                            2993,
                                                                            3001
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 80,
                                                                              "column": 20
                                                                            },
                                                                            "end": {
                                                                              "line": 80,
                                                                              "column": 28
                                                                            }
                                                                          }
                                                                        },
                                                                        "property": {
                                                                          "type": "Identifier",
                                                                          "name": "next",
                                                                          "range": [
                                                                            3002,
                                                                            3006
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 80,
                                                                              "column": 29
                                                                            },
                                                                            "end": {
                                                                              "line": 80,
                                                                              "column": 33
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          2993,
                                                                          3006
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 80,
                                                                            "column": 20
                                                                          },
                                                                          "end": {
                                                                            "line": 80,
                                                                            "column": 33
                                                                          }
                                                                        }
                                                                      },
                                                                      "arguments": [
                                                                        {
                                                                          "type": "Identifier",
                                                                          "name": "x",
                                                                          "range": [
                                                                            3007,
                                                                            3008
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 80,
                                                                              "column": 34
                                                                            },
                                                                            "end": {
                                                                              "line": 80,
                                                                              "column": 35
                                                                            }
                                                                          }
                                                                        }
                                                                      ],
                                                                      "range": [
                                                                        2993,
                                                                        3009
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 80,
                                                                          "column": 20
                                                                        },
                                                                        "end": {
                                                                          "line": 80,
                                                                          "column": 36
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      2993,
                                                                      3010
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 80,
                                                                        "column": 20
                                                                      },
                                                                      "end": {
                                                                        "line": 80,
                                                                        "column": 37
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  2971,
                                                                  3028
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 79,
                                                                    "column": 33
                                                                  },
                                                                  "end": {
                                                                    "line": 81,
                                                                    "column": 17
                                                                  }
                                                                }
                                                              },
                                                              "alternate": null,
                                                              "range": [
                                                                2959,
                                                                3028
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 79,
                                                                  "column": 21
                                                                },
                                                                "end": {
                                                                  "line": 81,
                                                                  "column": 17
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              2839,
                                                              3028
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 16
                                                              },
                                                              "end": {
                                                                "line": 81,
                                                                "column": 17
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          2764,
                                                          3042
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 74,
                                                            "column": 59
                                                          },
                                                          "end": {
                                                            "line": 82,
                                                            "column": 13
                                                          }
                                                        }
                                                      },
                                                      "generator": false,
                                                      "expression": false,
                                                      "range": [
                                                        2751,
                                                        3042
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 74,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 82,
                                                          "column": 13
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "FunctionExpression",
                                                      "id": null,
                                                      "params": [
                                                        {
                                                          "type": "Identifier",
                                                          "name": "err",
                                                          "range": [
                                                            3054,
                                                            3057
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 82,
                                                              "column": 25
                                                            },
                                                            "end": {
                                                              "line": 82,
                                                              "column": 28
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "body": {
                                                        "type": "BlockStatement",
                                                        "body": [
                                                          {
                                                            "type": "ReturnStatement",
                                                            "argument": {
                                                              "type": "CallExpression",
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "observer",
                                                                  "range": [
                                                                    3068,
                                                                    3076
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 82,
                                                                      "column": 39
                                                                    },
                                                                    "end": {
                                                                      "line": 82,
                                                                      "column": 47
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "error",
                                                                  "range": [
                                                                    3077,
                                                                    3082
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 82,
                                                                      "column": 48
                                                                    },
                                                                    "end": {
                                                                      "line": 82,
                                                                      "column": 53
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  3068,
                                                                  3082
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 82,
                                                                    "column": 39
                                                                  },
                                                                  "end": {
                                                                    "line": 82,
                                                                    "column": 53
                                                                  }
                                                                }
                                                              },
                                                              "arguments": [
                                                                {
                                                                  "type": "Identifier",
                                                                  "name": "err",
                                                                  "range": [
                                                                    3083,
                                                                    3086
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 82,
                                                                      "column": 54
                                                                    },
                                                                    "end": {
                                                                      "line": 82,
                                                                      "column": 57
                                                                    }
                                                                  }
                                                                }
                                                              ],
                                                              "range": [
                                                                3068,
                                                                3087
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 82,
                                                                  "column": 39
                                                                },
                                                                "end": {
                                                                  "line": 82,
                                                                  "column": 58
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              3061,
                                                              3088
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 82,
                                                                "column": 32
                                                              },
                                                              "end": {
                                                                "line": 82,
                                                                "column": 59
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          3059,
                                                          3090
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 82,
                                                            "column": 30
                                                          },
                                                          "end": {
                                                            "line": 82,
                                                            "column": 61
                                                          }
                                                        }
                                                      },
                                                      "generator": false,
                                                      "expression": false,
                                                      "range": [
                                                        3044,
                                                        3090
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 82,
                                                          "column": 15
                                                        },
                                                        "end": {
                                                          "line": 82,
                                                          "column": 61
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "type": "FunctionExpression",
                                                      "id": null,
                                                      "params": [],
                                                      "body": {
                                                        "type": "BlockStatement",
                                                        "body": [
                                                          {
                                                            "type": "ReturnStatement",
                                                            "argument": {
                                                              "type": "CallExpression",
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "observer",
                                                                  "range": [
                                                                    3113,
                                                                    3121
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 82,
                                                                      "column": 84
                                                                    },
                                                                    "end": {
                                                                      "line": 82,
                                                                      "column": 92
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "complete",
                                                                  "range": [
                                                                    3122,
                                                                    3130
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 82,
                                                                      "column": 93
                                                                    },
                                                                    "end": {
                                                                      "line": 82,
                                                                      "column": 101
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  3113,
                                                                  3130
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 82,
                                                                    "column": 84
                                                                  },
                                                                  "end": {
                                                                    "line": 82,
                                                                    "column": 101
                                                                  }
                                                                }
                                                              },
                                                              "arguments": [],
                                                              "range": [
                                                                3113,
                                                                3132
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 82,
                                                                  "column": 84
                                                                },
                                                                "end": {
                                                                  "line": 82,
                                                                  "column": 103
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              3106,
                                                              3133
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 82,
                                                                "column": 77
                                                              },
                                                              "end": {
                                                                "line": 82,
                                                                "column": 104
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "range": [
                                                          3104,
                                                          3135
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 82,
                                                            "column": 75
                                                          },
                                                          "end": {
                                                            "line": 82,
                                                            "column": 106
                                                          }
                                                        }
                                                      },
                                                      "generator": false,
                                                      "expression": false,
                                                      "range": [
                                                        3092,
                                                        3135
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 82,
                                                          "column": 63
                                                        },
                                                        "end": {
                                                          "line": 82,
                                                          "column": 106
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    2736,
                                                    3136
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 74,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 82,
                                                      "column": 107
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  2721,
                                                  3136
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 74,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 107
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "range": [
                                              2717,
                                              3137
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 74,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 82,
                                                "column": 108
                                              }
                                            }
                                          },
                                          {
                                            "type": "ReturnStatement",
                                            "argument": {
                                              "type": "FunctionExpression",
                                              "id": null,
                                              "params": [],
                                              "body": {
                                                "type": "BlockStatement",
                                                "body": [
                                                  {
                                                    "type": "VariableDeclaration",
                                                    "declarations": [
                                                      {
                                                        "type": "VariableDeclarator",
                                                        "id": {
                                                          "type": "Identifier",
                                                          "name": "result",
                                                          "range": [
                                                            3191,
                                                            3197
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 84,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 84,
                                                              "column": 26
                                                            }
                                                          }
                                                        },
                                                        "init": {
                                                          "type": "CallExpression",
                                                          "callee": {
                                                            "type": "CallExpression",
                                                            "callee": {
                                                              "type": "Identifier",
                                                              "name": "tryCatch",
                                                              "range": [
                                                                3200,
                                                                3208
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 84,
                                                                  "column": 29
                                                                },
                                                                "end": {
                                                                  "line": 84,
                                                                  "column": 37
                                                                }
                                                              }
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "Identifier",
                                                                "name": "unsubMsg",
                                                                "range": [
                                                                  3209,
                                                                  3217
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 84,
                                                                    "column": 38
                                                                  },
                                                                  "end": {
                                                                    "line": 84,
                                                                    "column": 46
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              3200,
                                                              3218
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 84,
                                                                "column": 29
                                                              },
                                                              "end": {
                                                                "line": 84,
                                                                "column": 47
                                                              }
                                                            }
                                                          },
                                                          "arguments": [],
                                                          "range": [
                                                            3200,
                                                            3220
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 84,
                                                              "column": 29
                                                            },
                                                            "end": {
                                                              "line": 84,
                                                              "column": 49
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          3191,
                                                          3220
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 84,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 84,
                                                            "column": 49
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "kind": "var",
                                                    "range": [
                                                      3187,
                                                      3221
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 84,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 84,
                                                        "column": 50
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "IfStatement",
                                                    "test": {
                                                      "type": "BinaryExpression",
                                                      "operator": "===",
                                                      "left": {
                                                        "type": "Identifier",
                                                        "name": "result",
                                                        "range": [
                                                          3242,
                                                          3248
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 85,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 85,
                                                            "column": 26
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "Identifier",
                                                        "name": "errorObject",
                                                        "range": [
                                                          3253,
                                                          3264
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 85,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 85,
                                                            "column": 42
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        3242,
                                                        3264
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 85,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 85,
                                                          "column": 42
                                                        }
                                                      }
                                                    },
                                                    "consequent": {
                                                      "type": "BlockStatement",
                                                      "body": [
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "expression": {
                                                            "type": "CallExpression",
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "observer",
                                                                "range": [
                                                                  3288,
                                                                  3296
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 86,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 86,
                                                                    "column": 28
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "error",
                                                                "range": [
                                                                  3297,
                                                                  3302
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 86,
                                                                    "column": 29
                                                                  },
                                                                  "end": {
                                                                    "line": 86,
                                                                    "column": 34
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3288,
                                                                3302
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 86,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 86,
                                                                  "column": 34
                                                                }
                                                              }
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "MemberExpression",
                                                                "computed": false,
                                                                "object": {
                                                                  "type": "Identifier",
                                                                  "name": "errorObject",
                                                                  "range": [
                                                                    3303,
                                                                    3314
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 86,
                                                                      "column": 35
                                                                    },
                                                                    "end": {
                                                                      "line": 86,
                                                                      "column": 46
                                                                    }
                                                                  }
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "name": "e",
                                                                  "range": [
                                                                    3315,
                                                                    3316
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 86,
                                                                      "column": 47
                                                                    },
                                                                    "end": {
                                                                      "line": 86,
                                                                      "column": 48
                                                                    }
                                                                  }
                                                                },
                                                                "range": [
                                                                  3303,
                                                                  3316
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 86,
                                                                    "column": 35
                                                                  },
                                                                  "end": {
                                                                    "line": 86,
                                                                    "column": 48
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              3288,
                                                              3317
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 86,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 86,
                                                                "column": 49
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            3288,
                                                            3318
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 86,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 86,
                                                              "column": 50
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        3266,
                                                        3336
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 85,
                                                          "column": 44
                                                        },
                                                        "end": {
                                                          "line": 87,
                                                          "column": 17
                                                        }
                                                      }
                                                    },
                                                    "alternate": {
                                                      "type": "BlockStatement",
                                                      "body": [
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "expression": {
                                                            "type": "CallExpression",
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "self",
                                                                "range": [
                                                                  3380,
                                                                  3384
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 89,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 89,
                                                                    "column": 24
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "next",
                                                                "range": [
                                                                  3385,
                                                                  3389
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 89,
                                                                    "column": 25
                                                                  },
                                                                  "end": {
                                                                    "line": 89,
                                                                    "column": 29
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                3380,
                                                                3389
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 89,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 89,
                                                                  "column": 29
                                                                }
                                                              }
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "Identifier",
                                                                "name": "result",
                                                                "range": [
                                                                  3390,
                                                                  3396
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 89,
                                                                    "column": 30
                                                                  },
                                                                  "end": {
                                                                    "line": 89,
                                                                    "column": 36
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              3380,
                                                              3397
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 89,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 89,
                                                                "column": 37
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            3380,
                                                            3398
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 89,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 89,
                                                              "column": 38
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        3358,
                                                        3416
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 88,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 90,
                                                          "column": 17
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3238,
                                                      3416
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 85,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 90,
                                                        "column": 17
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "subscription",
                                                          "range": [
                                                            3433,
                                                            3445
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 91,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 91,
                                                              "column": 28
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "unsubscribe",
                                                          "range": [
                                                            3446,
                                                            3457
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 91,
                                                              "column": 29
                                                            },
                                                            "end": {
                                                              "line": 91,
                                                              "column": 40
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          3433,
                                                          3457
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 91,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 91,
                                                            "column": 40
                                                          }
                                                        }
                                                      },
                                                      "arguments": [],
                                                      "range": [
                                                        3433,
                                                        3459
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 91,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 91,
                                                          "column": 42
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      3433,
                                                      3460
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 91,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 91,
                                                        "column": 43
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  3169,
                                                  3474
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 83,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 92,
                                                    "column": 13
                                                  }
                                                }
                                              },
                                              "generator": false,
                                              "expression": false,
                                              "range": [
                                                3157,
                                                3474
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 83,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 92,
                                                  "column": 13
                                                }
                                              }
                                            },
                                            "range": [
                                              3150,
                                              3475
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 83,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 92,
                                                "column": 14
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          2487,
                                          3485
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 9
                                          }
                                        }
                                      },
                                      "generator": false,
                                      "expression": false,
                                      "range": [
                                        2467,
                                        3485
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 9
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2452,
                                    3486
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 10
                                    }
                                  }
                                },
                                "range": [
                                  2445,
                                  3487
                                ],
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 11
                                  }
                                }
                              }
                            ],
                            "range": [
                              2410,
                              3493
                            ],
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 86
                              },
                              "end": {
                                "line": 94,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            2367,
                            3493
                          ],
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 43
                            },
                            "end": {
                              "line": 94,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          2328,
                          3493
                        ],
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 4
                          },
                          "end": {
                            "line": 94,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2328,
                        3494
                      ],
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 4
                        },
                        "end": {
                          "line": 94,
                          "column": 6
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Line",
                          "value": " TODO: factor this out to be a proper Operator/Subscriber implementation and eliminate closures",
                          "range": [
                            2226,
                            2323
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 4
                            },
                            "end": {
                              "line": 63,
                              "column": 101
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "WebSocketSubject",
                              "range": [
                                3499,
                                3515
                              ],
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 4
                                },
                                "end": {
                                  "line": 95,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                3516,
                                3525
                              ],
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 21
                                },
                                "end": {
                                  "line": 95,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              3499,
                              3525
                            ],
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 4
                              },
                              "end": {
                                "line": 95,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_connectSocket",
                            "range": [
                              3526,
                              3540
                            ],
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 31
                              },
                              "end": {
                                "line": 95,
                                "column": 45
                              }
                            }
                          },
                          "range": [
                            3499,
                            3540
                          ],
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 4
                            },
                            "end": {
                              "line": 95,
                              "column": 45
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "_this",
                                      "range": [
                                        3569,
                                        3574
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3577,
                                        3581
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 96,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 96,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3569,
                                      3581
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 24
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3565,
                                  3582
                                ],
                                "loc": {
                                  "start": {
                                    "line": 96,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 96,
                                    "column": 25
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "WebSocketCtor",
                                      "range": [
                                        3595,
                                        3608
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3611,
                                          3615
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 97,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 97,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "WebSocketCtor",
                                        "range": [
                                          3616,
                                          3629
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 97,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 97,
                                            "column": 46
                                          }
                                        }
                                      },
                                      "range": [
                                        3611,
                                        3629
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 46
                                        }
                                      }
                                    },
                                    "range": [
                                      3595,
                                      3629
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 97,
                                        "column": 46
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3591,
                                  3630
                                ],
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 97,
                                    "column": 47
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "observer",
                                      "range": [
                                        3643,
                                        3651
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3654,
                                          3658
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_output",
                                        "range": [
                                          3659,
                                          3666
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "range": [
                                        3654,
                                        3666
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "range": [
                                      3643,
                                      3666
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3639,
                                  3667
                                ],
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 36
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "socket",
                                      "range": [
                                        3680,
                                        3686
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "Literal",
                                      "value": null,
                                      "raw": "null",
                                      "range": [
                                        3689,
                                        3693
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "range": [
                                      3680,
                                      3693
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 99,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 25
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3676,
                                  3694
                                ],
                                "loc": {
                                  "start": {
                                    "line": 99,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 26
                                  }
                                }
                              },
                              {
                                "type": "TryStatement",
                                "block": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "name": "socket",
                                          "range": [
                                            3721,
                                            3727
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 101,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "ConditionalExpression",
                                          "test": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                3730,
                                                3734
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 25
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "protocol",
                                              "range": [
                                                3735,
                                                3743
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 34
                                                }
                                              }
                                            },
                                            "range": [
                                              3730,
                                              3743
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 101,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 101,
                                                "column": 34
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "NewExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "WebSocketCtor",
                                              "range": [
                                                3766,
                                                3779
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 102,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 102,
                                                  "column": 33
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    3780,
                                                    3784
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 102,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 102,
                                                      "column": 38
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "url",
                                                  "range": [
                                                    3785,
                                                    3788
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 102,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 102,
                                                      "column": 42
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3780,
                                                  3788
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 102,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 102,
                                                    "column": 42
                                                  }
                                                }
                                              },
                                              {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    3790,
                                                    3794
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 102,
                                                      "column": 44
                                                    },
                                                    "end": {
                                                      "line": 102,
                                                      "column": 48
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "protocol",
                                                  "range": [
                                                    3795,
                                                    3803
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 102,
                                                      "column": 49
                                                    },
                                                    "end": {
                                                      "line": 102,
                                                      "column": 57
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3790,
                                                  3803
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 102,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 102,
                                                    "column": 57
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3762,
                                              3804
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 102,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 102,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "alternate": {
                                            "type": "NewExpression",
                                            "callee": {
                                              "type": "Identifier",
                                              "name": "WebSocketCtor",
                                              "range": [
                                                3827,
                                                3840
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 103,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 103,
                                                  "column": 33
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    3841,
                                                    3845
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 103,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 103,
                                                      "column": 38
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "url",
                                                  "range": [
                                                    3846,
                                                    3849
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 103,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 103,
                                                      "column": 42
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  3841,
                                                  3849
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 103,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 103,
                                                    "column": 42
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              3823,
                                              3850
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 43
                                              }
                                            }
                                          },
                                          "range": [
                                            3730,
                                            3850
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 101,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          3721,
                                          3850
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 101,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "range": [
                                        3721,
                                        3851
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 44
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              3864,
                                              3868
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "socket",
                                            "range": [
                                              3869,
                                              3875
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 104,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 104,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "range": [
                                            3864,
                                            3875
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "Identifier",
                                          "name": "socket",
                                          "range": [
                                            3878,
                                            3884
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 104,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 104,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          3864,
                                          3884
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 104,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 104,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        3864,
                                        3885
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 33
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3707,
                                    3895
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 105,
                                      "column": 9
                                    }
                                  }
                                },
                                "handler": {
                                  "type": "CatchClause",
                                  "param": {
                                    "type": "Identifier",
                                    "name": "e",
                                    "range": [
                                      3911,
                                      3912
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 106,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "body": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "observer",
                                              "range": [
                                                3928,
                                                3936
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "error",
                                              "range": [
                                                3937,
                                                3942
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 26
                                                }
                                              }
                                            },
                                            "range": [
                                              3928,
                                              3942
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 107,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 107,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "e",
                                              "range": [
                                                3943,
                                                3944
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 28
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            3928,
                                            3945
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "range": [
                                          3928,
                                          3946
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 30
                                          }
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "argument": null,
                                        "range": [
                                          3959,
                                          3966
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 19
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      3914,
                                      3976
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 106,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    3904,
                                    3976
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 106,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 109,
                                      "column": 9
                                    }
                                  }
                                },
                                "finalizer": null,
                                "range": [
                                  3703,
                                  3976
                                ],
                                "loc": {
                                  "start": {
                                    "line": 100,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "subscription",
                                      "range": [
                                        3989,
                                        4001
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "Subscription",
                                        "range": [
                                          4008,
                                          4020
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 110,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "FunctionExpression",
                                          "id": null,
                                          "params": [],
                                          "body": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "_this",
                                                      "range": [
                                                        4047,
                                                        4052
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 111,
                                                          "column": 12
                                                        },
                                                        "end": {
                                                          "line": 111,
                                                          "column": 17
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "socket",
                                                      "range": [
                                                        4053,
                                                        4059
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 111,
                                                          "column": 18
                                                        },
                                                        "end": {
                                                          "line": 111,
                                                          "column": 24
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4047,
                                                      4059
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 111,
                                                        "column": 12
                                                      },
                                                      "end": {
                                                        "line": 111,
                                                        "column": 24
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "Literal",
                                                    "value": null,
                                                    "raw": "null",
                                                    "range": [
                                                      4062,
                                                      4066
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 111,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 111,
                                                        "column": 31
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4047,
                                                    4066
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 111,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 111,
                                                      "column": 31
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4047,
                                                  4067
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 111,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 111,
                                                    "column": 32
                                                  }
                                                }
                                              },
                                              {
                                                "type": "IfStatement",
                                                "test": {
                                                  "type": "LogicalExpression",
                                                  "operator": "&&",
                                                  "left": {
                                                    "type": "Identifier",
                                                    "name": "socket",
                                                    "range": [
                                                      4084,
                                                      4090
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 22
                                                      }
                                                    }
                                                  },
                                                  "right": {
                                                    "type": "BinaryExpression",
                                                    "operator": "===",
                                                    "left": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "socket",
                                                        "range": [
                                                          4094,
                                                          4100
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 112,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 112,
                                                            "column": 32
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "readyState",
                                                        "range": [
                                                          4101,
                                                          4111
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 112,
                                                            "column": 33
                                                          },
                                                          "end": {
                                                            "line": 112,
                                                            "column": 43
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        4094,
                                                        4111
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 112,
                                                          "column": 26
                                                        },
                                                        "end": {
                                                          "line": 112,
                                                          "column": 43
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "Literal",
                                                      "value": 1,
                                                      "raw": "1",
                                                      "range": [
                                                        4116,
                                                        4117
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 112,
                                                          "column": 48
                                                        },
                                                        "end": {
                                                          "line": 112,
                                                          "column": 49
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4094,
                                                      4117
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 112,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 112,
                                                        "column": 49
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    4084,
                                                    4117
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 112,
                                                      "column": 49
                                                    }
                                                  }
                                                },
                                                "consequent": {
                                                  "type": "BlockStatement",
                                                  "body": [
                                                    {
                                                      "type": "ExpressionStatement",
                                                      "expression": {
                                                        "type": "CallExpression",
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "socket",
                                                            "range": [
                                                              4137,
                                                              4143
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 113,
                                                                "column": 16
                                                              },
                                                              "end": {
                                                                "line": 113,
                                                                "column": 22
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "close",
                                                            "range": [
                                                              4144,
                                                              4149
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 113,
                                                                "column": 23
                                                              },
                                                              "end": {
                                                                "line": 113,
                                                                "column": 28
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            4137,
                                                            4149
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 113,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 113,
                                                              "column": 28
                                                            }
                                                          }
                                                        },
                                                        "arguments": [],
                                                        "range": [
                                                          4137,
                                                          4151
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 113,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 113,
                                                            "column": 30
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        4137,
                                                        4152
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 113,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 113,
                                                          "column": 31
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    4119,
                                                    4166
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 112,
                                                      "column": 51
                                                    },
                                                    "end": {
                                                      "line": 114,
                                                      "column": 13
                                                    }
                                                  }
                                                },
                                                "alternate": null,
                                                "range": [
                                                  4080,
                                                  4166
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 112,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 13
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4033,
                                              4176
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 110,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 9
                                              }
                                            }
                                          },
                                          "generator": false,
                                          "expression": false,
                                          "range": [
                                            4021,
                                            4176
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 9
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4004,
                                        4177
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 10
                                        }
                                      }
                                    },
                                    "range": [
                                      3989,
                                      4177
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 10
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  3985,
                                  4178
                                ],
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 115,
                                    "column": 11
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "socket",
                                      "range": [
                                        4187,
                                        4193
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "onopen",
                                      "range": [
                                        4194,
                                        4200
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "range": [
                                      4187,
                                      4200
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "FunctionExpression",
                                    "id": null,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "e",
                                        "range": [
                                          4213,
                                          4214
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 116,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 116,
                                            "column": 35
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "id": {
                                                "type": "Identifier",
                                                "name": "openObserver",
                                                "range": [
                                                  4234,
                                                  4246
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 28
                                                  }
                                                }
                                              },
                                              "init": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "_this",
                                                  "range": [
                                                    4249,
                                                    4254
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 36
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "openObserver",
                                                  "range": [
                                                    4255,
                                                    4267
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 49
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4249,
                                                  4267
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 49
                                                  }
                                                }
                                              },
                                              "range": [
                                                4234,
                                                4267
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 49
                                                }
                                              }
                                            }
                                          ],
                                          "kind": "var",
                                          "range": [
                                            4230,
                                            4268
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 50
                                            }
                                          }
                                        },
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "Identifier",
                                            "name": "openObserver",
                                            "range": [
                                              4285,
                                              4297
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 118,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 118,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "openObserver",
                                                      "range": [
                                                        4317,
                                                        4329
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 119,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 119,
                                                          "column": 28
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "next",
                                                      "range": [
                                                        4330,
                                                        4334
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 119,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 119,
                                                          "column": 33
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      4317,
                                                      4334
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 119,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 119,
                                                        "column": 33
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "e",
                                                      "range": [
                                                        4335,
                                                        4336
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 119,
                                                          "column": 34
                                                        },
                                                        "end": {
                                                          "line": 119,
                                                          "column": 35
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    4317,
                                                    4337
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 119,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 119,
                                                      "column": 36
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4317,
                                                  4338
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 119,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 119,
                                                    "column": 37
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              4299,
                                              4352
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 118,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 120,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "alternate": null,
                                          "range": [
                                            4281,
                                            4352
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 118,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 13
                                            }
                                          }
                                        },
                                        {
                                          "type": "VariableDeclaration",
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "id": {
                                                "type": "Identifier",
                                                "name": "queue",
                                                "range": [
                                                  4369,
                                                  4374
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 121,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 121,
                                                    "column": 21
                                                  }
                                                }
                                              },
                                              "init": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "_this",
                                                  "range": [
                                                    4377,
                                                    4382
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 121,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 121,
                                                      "column": 29
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "destination",
                                                  "range": [
                                                    4383,
                                                    4394
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 121,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 121,
                                                      "column": 41
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4377,
                                                  4394
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 121,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 121,
                                                    "column": 41
                                                  }
                                                }
                                              },
                                              "range": [
                                                4369,
                                                4394
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 121,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 121,
                                                  "column": 41
                                                }
                                              }
                                            }
                                          ],
                                          "kind": "var",
                                          "range": [
                                            4365,
                                            4395
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 42
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "operator": "=",
                                            "left": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "_this",
                                                "range": [
                                                  4408,
                                                  4413
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 122,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 122,
                                                    "column": 17
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "destination",
                                                "range": [
                                                  4414,
                                                  4425
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 122,
                                                    "column": 18
                                                  },
                                                  "end": {
                                                    "line": 122,
                                                    "column": 29
                                                  }
                                                }
                                              },
                                              "range": [
                                                4408,
                                                4425
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 122,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 122,
                                                  "column": 29
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "Subscriber",
                                                  "range": [
                                                    4428,
                                                    4438
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 42
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "create",
                                                  "range": [
                                                    4439,
                                                    4445
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 43
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 49
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  4428,
                                                  4445
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 122,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 122,
                                                    "column": 49
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "FunctionExpression",
                                                  "id": null,
                                                  "params": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "x",
                                                      "range": [
                                                        4456,
                                                        4457
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 122,
                                                          "column": 60
                                                        },
                                                        "end": {
                                                          "line": 122,
                                                          "column": 61
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "body": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "ReturnStatement",
                                                        "argument": {
                                                          "type": "LogicalExpression",
                                                          "operator": "&&",
                                                          "left": {
                                                            "type": "BinaryExpression",
                                                            "operator": "===",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "socket",
                                                                "range": [
                                                                  4468,
                                                                  4474
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 122,
                                                                    "column": 72
                                                                  },
                                                                  "end": {
                                                                    "line": 122,
                                                                    "column": 78
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "readyState",
                                                                "range": [
                                                                  4475,
                                                                  4485
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 122,
                                                                    "column": 79
                                                                  },
                                                                  "end": {
                                                                    "line": 122,
                                                                    "column": 89
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                4468,
                                                                4485
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 122,
                                                                  "column": 72
                                                                },
                                                                "end": {
                                                                  "line": 122,
                                                                  "column": 89
                                                                }
                                                              }
                                                            },
                                                            "right": {
                                                              "type": "Literal",
                                                              "value": 1,
                                                              "raw": "1",
                                                              "range": [
                                                                4490,
                                                                4491
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 122,
                                                                  "column": 94
                                                                },
                                                                "end": {
                                                                  "line": 122,
                                                                  "column": 95
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              4468,
                                                              4491
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 122,
                                                                "column": 72
                                                              },
                                                              "end": {
                                                                "line": 122,
                                                                "column": 95
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "CallExpression",
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "socket",
                                                                "range": [
                                                                  4495,
                                                                  4501
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 122,
                                                                    "column": 99
                                                                  },
                                                                  "end": {
                                                                    "line": 122,
                                                                    "column": 105
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "send",
                                                                "range": [
                                                                  4502,
                                                                  4506
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 122,
                                                                    "column": 106
                                                                  },
                                                                  "end": {
                                                                    "line": 122,
                                                                    "column": 110
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                4495,
                                                                4506
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 122,
                                                                  "column": 99
                                                                },
                                                                "end": {
                                                                  "line": 122,
                                                                  "column": 110
                                                                }
                                                              }
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "Identifier",
                                                                "name": "x",
                                                                "range": [
                                                                  4507,
                                                                  4508
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 122,
                                                                    "column": 111
                                                                  },
                                                                  "end": {
                                                                    "line": 122,
                                                                    "column": 112
                                                                  }
                                                                }
                                                              }
                                                            ],
                                                            "range": [
                                                              4495,
                                                              4509
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 122,
                                                                "column": 99
                                                              },
                                                              "end": {
                                                                "line": 122,
                                                                "column": 113
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            4468,
                                                            4509
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 122,
                                                              "column": 72
                                                            },
                                                            "end": {
                                                              "line": 122,
                                                              "column": 113
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          4461,
                                                          4510
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 122,
                                                            "column": 65
                                                          },
                                                          "end": {
                                                            "line": 122,
                                                            "column": 114
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      4459,
                                                      4512
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 122,
                                                        "column": 63
                                                      },
                                                      "end": {
                                                        "line": 122,
                                                        "column": 116
                                                      }
                                                    }
                                                  },
                                                  "generator": false,
                                                  "expression": false,
                                                  "range": [
                                                    4446,
                                                    4512
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 122,
                                                      "column": 116
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "FunctionExpression",
                                                  "id": null,
                                                  "params": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "e",
                                                      "range": [
                                                        4524,
                                                        4525
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 122,
                                                          "column": 128
                                                        },
                                                        "end": {
                                                          "line": 122,
                                                          "column": 129
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "body": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "id": {
                                                              "type": "Identifier",
                                                              "name": "closingObserver",
                                                              "range": [
                                                                4549,
                                                                4564
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 123,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 123,
                                                                  "column": 35
                                                                }
                                                              }
                                                            },
                                                            "init": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "_this",
                                                                "range": [
                                                                  4567,
                                                                  4572
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 123,
                                                                    "column": 38
                                                                  },
                                                                  "end": {
                                                                    "line": 123,
                                                                    "column": 43
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "closingObserver",
                                                                "range": [
                                                                  4573,
                                                                  4588
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 123,
                                                                    "column": 44
                                                                  },
                                                                  "end": {
                                                                    "line": 123,
                                                                    "column": 59
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                4567,
                                                                4588
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 123,
                                                                  "column": 38
                                                                },
                                                                "end": {
                                                                  "line": 123,
                                                                  "column": 59
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              4549,
                                                              4588
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 123,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 123,
                                                                "column": 59
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "var",
                                                        "range": [
                                                          4545,
                                                          4589
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 123,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 123,
                                                            "column": 60
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "IfStatement",
                                                        "test": {
                                                          "type": "Identifier",
                                                          "name": "closingObserver",
                                                          "range": [
                                                            4610,
                                                            4625
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 124,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 124,
                                                              "column": 35
                                                            }
                                                          }
                                                        },
                                                        "consequent": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "closingObserver",
                                                                    "range": [
                                                                      4649,
                                                                      4664
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 125,
                                                                        "column": 20
                                                                      },
                                                                      "end": {
                                                                        "line": 125,
                                                                        "column": 35
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "next",
                                                                    "range": [
                                                                      4665,
                                                                      4669
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 125,
                                                                        "column": 36
                                                                      },
                                                                      "end": {
                                                                        "line": 125,
                                                                        "column": 40
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    4649,
                                                                    4669
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 125,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 125,
                                                                      "column": 40
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [
                                                                  {
                                                                    "type": "Identifier",
                                                                    "name": "undefined",
                                                                    "range": [
                                                                      4670,
                                                                      4679
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 125,
                                                                        "column": 41
                                                                      },
                                                                      "end": {
                                                                        "line": 125,
                                                                        "column": 50
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  4649,
                                                                  4680
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 125,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 125,
                                                                    "column": 51
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                4649,
                                                                4681
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 125,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 125,
                                                                  "column": 52
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            4627,
                                                            4699
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 124,
                                                              "column": 37
                                                            },
                                                            "end": {
                                                              "line": 126,
                                                              "column": 17
                                                            }
                                                          }
                                                        },
                                                        "alternate": null,
                                                        "range": [
                                                          4606,
                                                          4699
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 124,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 126,
                                                            "column": 17
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "IfStatement",
                                                        "test": {
                                                          "type": "LogicalExpression",
                                                          "operator": "&&",
                                                          "left": {
                                                            "type": "Identifier",
                                                            "name": "e",
                                                            "range": [
                                                              4720,
                                                              4721
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 127,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 127,
                                                                "column": 21
                                                              }
                                                            }
                                                          },
                                                          "right": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "e",
                                                              "range": [
                                                                4725,
                                                                4726
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 127,
                                                                  "column": 25
                                                                },
                                                                "end": {
                                                                  "line": 127,
                                                                  "column": 26
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "code",
                                                              "range": [
                                                                4727,
                                                                4731
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 127,
                                                                  "column": 27
                                                                },
                                                                "end": {
                                                                  "line": 127,
                                                                  "column": 31
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              4725,
                                                              4731
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 127,
                                                                "column": 25
                                                              },
                                                              "end": {
                                                                "line": 127,
                                                                "column": 31
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            4720,
                                                            4731
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 127,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 127,
                                                              "column": 31
                                                            }
                                                          }
                                                        },
                                                        "consequent": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "socket",
                                                                    "range": [
                                                                      4755,
                                                                      4761
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 128,
                                                                        "column": 20
                                                                      },
                                                                      "end": {
                                                                        "line": 128,
                                                                        "column": 26
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "close",
                                                                    "range": [
                                                                      4762,
                                                                      4767
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 128,
                                                                        "column": 27
                                                                      },
                                                                      "end": {
                                                                        "line": 128,
                                                                        "column": 32
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    4755,
                                                                    4767
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 128,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 128,
                                                                      "column": 32
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [
                                                                  {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "name": "e",
                                                                      "range": [
                                                                        4768,
                                                                        4769
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 128,
                                                                          "column": 33
                                                                        },
                                                                        "end": {
                                                                          "line": 128,
                                                                          "column": 34
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "code",
                                                                      "range": [
                                                                        4770,
                                                                        4774
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 128,
                                                                          "column": 35
                                                                        },
                                                                        "end": {
                                                                          "line": 128,
                                                                          "column": 39
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      4768,
                                                                      4774
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 128,
                                                                        "column": 33
                                                                      },
                                                                      "end": {
                                                                        "line": 128,
                                                                        "column": 39
                                                                      }
                                                                    }
                                                                  },
                                                                  {
                                                                    "type": "MemberExpression",
                                                                    "computed": false,
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "name": "e",
                                                                      "range": [
                                                                        4776,
                                                                        4777
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 128,
                                                                          "column": 41
                                                                        },
                                                                        "end": {
                                                                          "line": 128,
                                                                          "column": 42
                                                                        }
                                                                      }
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "name": "reason",
                                                                      "range": [
                                                                        4778,
                                                                        4784
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 128,
                                                                          "column": 43
                                                                        },
                                                                        "end": {
                                                                          "line": 128,
                                                                          "column": 49
                                                                        }
                                                                      }
                                                                    },
                                                                    "range": [
                                                                      4776,
                                                                      4784
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 128,
                                                                        "column": 41
                                                                      },
                                                                      "end": {
                                                                        "line": 128,
                                                                        "column": 49
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  4755,
                                                                  4785
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 128,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 128,
                                                                    "column": 50
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                4755,
                                                                4786
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 128,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 128,
                                                                  "column": 51
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            4733,
                                                            4804
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 127,
                                                              "column": 33
                                                            },
                                                            "end": {
                                                              "line": 129,
                                                              "column": 17
                                                            }
                                                          }
                                                        },
                                                        "alternate": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "observer",
                                                                    "range": [
                                                                      4848,
                                                                      4856
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 131,
                                                                        "column": 20
                                                                      },
                                                                      "end": {
                                                                        "line": 131,
                                                                        "column": 28
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "error",
                                                                    "range": [
                                                                      4857,
                                                                      4862
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 131,
                                                                        "column": 29
                                                                      },
                                                                      "end": {
                                                                        "line": 131,
                                                                        "column": 34
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    4848,
                                                                    4862
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 131,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 131,
                                                                      "column": 34
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [
                                                                  {
                                                                    "type": "NewExpression",
                                                                    "callee": {
                                                                      "type": "Identifier",
                                                                      "name": "TypeError",
                                                                      "range": [
                                                                        4867,
                                                                        4876
                                                                      ],
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 131,
                                                                          "column": 39
                                                                        },
                                                                        "end": {
                                                                          "line": 131,
                                                                          "column": 48
                                                                        }
                                                                      }
                                                                    },
                                                                    "arguments": [
                                                                      {
                                                                        "type": "BinaryExpression",
                                                                        "operator": "+",
                                                                        "left": {
                                                                          "type": "Literal",
                                                                          "value": "WebSocketSubject.error must be called with an object with an error code, ",
                                                                          "raw": "'WebSocketSubject.error must be called with an object with an error code, '",
                                                                          "range": [
                                                                            4877,
                                                                            4952
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 131,
                                                                              "column": 49
                                                                            },
                                                                            "end": {
                                                                              "line": 131,
                                                                              "column": 124
                                                                            }
                                                                          }
                                                                        },
                                                                        "right": {
                                                                          "type": "Literal",
                                                                          "value": "and an optional reason: { code: number, reason: string }",
                                                                          "raw": "'and an optional reason: { code: number, reason: string }'",
                                                                          "range": [
                                                                            4979,
                                                                            5037
                                                                          ],
                                                                          "loc": {
                                                                            "start": {
                                                                              "line": 132,
                                                                              "column": 24
                                                                            },
                                                                            "end": {
                                                                              "line": 132,
                                                                              "column": 82
                                                                            }
                                                                          }
                                                                        },
                                                                        "range": [
                                                                          4877,
                                                                          5037
                                                                        ],
                                                                        "loc": {
                                                                          "start": {
                                                                            "line": 131,
                                                                            "column": 49
                                                                          },
                                                                          "end": {
                                                                            "line": 132,
                                                                            "column": 82
                                                                          }
                                                                        }
                                                                      }
                                                                    ],
                                                                    "range": [
                                                                      4863,
                                                                      5038
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 131,
                                                                        "column": 35
                                                                      },
                                                                      "end": {
                                                                        "line": 132,
                                                                        "column": 83
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  4848,
                                                                  5039
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 131,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 132,
                                                                    "column": 84
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                4848,
                                                                5040
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 131,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 132,
                                                                  "column": 85
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            4826,
                                                            5058
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 130,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 133,
                                                              "column": 17
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          4716,
                                                          5058
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 127,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 133,
                                                            "column": 17
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "expression": {
                                                          "type": "CallExpression",
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "_this",
                                                              "range": [
                                                                5075,
                                                                5080
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 134,
                                                                  "column": 16
                                                                },
                                                                "end": {
                                                                  "line": 134,
                                                                  "column": 21
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "_resetState",
                                                              "range": [
                                                                5081,
                                                                5092
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 134,
                                                                  "column": 22
                                                                },
                                                                "end": {
                                                                  "line": 134,
                                                                  "column": 33
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              5075,
                                                              5092
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 134,
                                                                "column": 16
                                                              },
                                                              "end": {
                                                                "line": 134,
                                                                "column": 33
                                                              }
                                                            }
                                                          },
                                                          "arguments": [],
                                                          "range": [
                                                            5075,
                                                            5094
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 134,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 134,
                                                              "column": 35
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5075,
                                                          5095
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 134,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 134,
                                                            "column": 36
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      4527,
                                                      5109
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 122,
                                                        "column": 131
                                                      },
                                                      "end": {
                                                        "line": 135,
                                                        "column": 13
                                                      }
                                                    }
                                                  },
                                                  "generator": false,
                                                  "expression": false,
                                                  "range": [
                                                    4514,
                                                    5109
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 122,
                                                      "column": 118
                                                    },
                                                    "end": {
                                                      "line": 135,
                                                      "column": 13
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "FunctionExpression",
                                                  "id": null,
                                                  "params": [],
                                                  "body": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "VariableDeclaration",
                                                        "declarations": [
                                                          {
                                                            "type": "VariableDeclarator",
                                                            "id": {
                                                              "type": "Identifier",
                                                              "name": "closingObserver",
                                                              "range": [
                                                                5145,
                                                                5160
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 136,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 136,
                                                                  "column": 35
                                                                }
                                                              }
                                                            },
                                                            "init": {
                                                              "type": "MemberExpression",
                                                              "computed": false,
                                                              "object": {
                                                                "type": "Identifier",
                                                                "name": "_this",
                                                                "range": [
                                                                  5163,
                                                                  5168
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 136,
                                                                    "column": 38
                                                                  },
                                                                  "end": {
                                                                    "line": 136,
                                                                    "column": 43
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "name": "closingObserver",
                                                                "range": [
                                                                  5169,
                                                                  5184
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 136,
                                                                    "column": 44
                                                                  },
                                                                  "end": {
                                                                    "line": 136,
                                                                    "column": 59
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                5163,
                                                                5184
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 136,
                                                                  "column": 38
                                                                },
                                                                "end": {
                                                                  "line": 136,
                                                                  "column": 59
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              5145,
                                                              5184
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 136,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 136,
                                                                "column": 59
                                                              }
                                                            }
                                                          }
                                                        ],
                                                        "kind": "var",
                                                        "range": [
                                                          5141,
                                                          5185
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 136,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 136,
                                                            "column": 60
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "IfStatement",
                                                        "test": {
                                                          "type": "Identifier",
                                                          "name": "closingObserver",
                                                          "range": [
                                                            5206,
                                                            5221
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 137,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 137,
                                                              "column": 35
                                                            }
                                                          }
                                                        },
                                                        "consequent": {
                                                          "type": "BlockStatement",
                                                          "body": [
                                                            {
                                                              "type": "ExpressionStatement",
                                                              "expression": {
                                                                "type": "CallExpression",
                                                                "callee": {
                                                                  "type": "MemberExpression",
                                                                  "computed": false,
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "name": "closingObserver",
                                                                    "range": [
                                                                      5245,
                                                                      5260
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 138,
                                                                        "column": 20
                                                                      },
                                                                      "end": {
                                                                        "line": 138,
                                                                        "column": 35
                                                                      }
                                                                    }
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "name": "next",
                                                                    "range": [
                                                                      5261,
                                                                      5265
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 138,
                                                                        "column": 36
                                                                      },
                                                                      "end": {
                                                                        "line": 138,
                                                                        "column": 40
                                                                      }
                                                                    }
                                                                  },
                                                                  "range": [
                                                                    5245,
                                                                    5265
                                                                  ],
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 138,
                                                                      "column": 20
                                                                    },
                                                                    "end": {
                                                                      "line": 138,
                                                                      "column": 40
                                                                    }
                                                                  }
                                                                },
                                                                "arguments": [
                                                                  {
                                                                    "type": "Identifier",
                                                                    "name": "undefined",
                                                                    "range": [
                                                                      5266,
                                                                      5275
                                                                    ],
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 138,
                                                                        "column": 41
                                                                      },
                                                                      "end": {
                                                                        "line": 138,
                                                                        "column": 50
                                                                      }
                                                                    }
                                                                  }
                                                                ],
                                                                "range": [
                                                                  5245,
                                                                  5276
                                                                ],
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 138,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 138,
                                                                    "column": 51
                                                                  }
                                                                }
                                                              },
                                                              "range": [
                                                                5245,
                                                                5277
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 138,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 138,
                                                                  "column": 52
                                                                }
                                                              }
                                                            }
                                                          ],
                                                          "range": [
                                                            5223,
                                                            5295
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 137,
                                                              "column": 37
                                                            },
                                                            "end": {
                                                              "line": 139,
                                                              "column": 17
                                                            }
                                                          }
                                                        },
                                                        "alternate": null,
                                                        "range": [
                                                          5202,
                                                          5295
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 137,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 139,
                                                            "column": 17
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "expression": {
                                                          "type": "CallExpression",
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "socket",
                                                              "range": [
                                                                5312,
                                                                5318
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 140,
                                                                  "column": 16
                                                                },
                                                                "end": {
                                                                  "line": 140,
                                                                  "column": 22
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "close",
                                                              "range": [
                                                                5319,
                                                                5324
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 140,
                                                                  "column": 23
                                                                },
                                                                "end": {
                                                                  "line": 140,
                                                                  "column": 28
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              5312,
                                                              5324
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 140,
                                                                "column": 16
                                                              },
                                                              "end": {
                                                                "line": 140,
                                                                "column": 28
                                                              }
                                                            }
                                                          },
                                                          "arguments": [],
                                                          "range": [
                                                            5312,
                                                            5326
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 140,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 140,
                                                              "column": 30
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5312,
                                                          5327
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 140,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 140,
                                                            "column": 31
                                                          }
                                                        }
                                                      },
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "expression": {
                                                          "type": "CallExpression",
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "_this",
                                                              "range": [
                                                                5344,
                                                                5349
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 141,
                                                                  "column": 16
                                                                },
                                                                "end": {
                                                                  "line": 141,
                                                                  "column": 21
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "_resetState",
                                                              "range": [
                                                                5350,
                                                                5361
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 141,
                                                                  "column": 22
                                                                },
                                                                "end": {
                                                                  "line": 141,
                                                                  "column": 33
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              5344,
                                                              5361
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 141,
                                                                "column": 16
                                                              },
                                                              "end": {
                                                                "line": 141,
                                                                "column": 33
                                                              }
                                                            }
                                                          },
                                                          "arguments": [],
                                                          "range": [
                                                            5344,
                                                            5363
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 141,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 141,
                                                              "column": 35
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5344,
                                                          5364
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 141,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 141,
                                                            "column": 36
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      5123,
                                                      5378
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 135,
                                                        "column": 27
                                                      },
                                                      "end": {
                                                        "line": 142,
                                                        "column": 13
                                                      }
                                                    }
                                                  },
                                                  "generator": false,
                                                  "expression": false,
                                                  "range": [
                                                    5111,
                                                    5378
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 135,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 142,
                                                      "column": 13
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                4428,
                                                5379
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 122,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 142,
                                                  "column": 14
                                                }
                                              }
                                            },
                                            "range": [
                                              4408,
                                              5379
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 122,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 14
                                              }
                                            }
                                          },
                                          "range": [
                                            4408,
                                            5380
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 122,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 15
                                            }
                                          }
                                        },
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "LogicalExpression",
                                            "operator": "&&",
                                            "left": {
                                              "type": "Identifier",
                                              "name": "queue",
                                              "range": [
                                                5397,
                                                5402
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 143,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 143,
                                                  "column": 21
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "BinaryExpression",
                                              "operator": "instanceof",
                                              "left": {
                                                "type": "Identifier",
                                                "name": "queue",
                                                "range": [
                                                  5406,
                                                  5411
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 143,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 143,
                                                    "column": 30
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "Identifier",
                                                "name": "ReplaySubject",
                                                "range": [
                                                  5423,
                                                  5436
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 143,
                                                    "column": 42
                                                  },
                                                  "end": {
                                                    "line": 143,
                                                    "column": 55
                                                  }
                                                }
                                              },
                                              "range": [
                                                5406,
                                                5436
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 143,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 143,
                                                  "column": 55
                                                }
                                              }
                                            },
                                            "range": [
                                              5397,
                                              5436
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 143,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 143,
                                                "column": 55
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "subscription",
                                                      "range": [
                                                        5456,
                                                        5468
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 144,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 144,
                                                          "column": 28
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "add",
                                                      "range": [
                                                        5469,
                                                        5472
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 144,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 144,
                                                          "column": 32
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5456,
                                                      5472
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 144,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 144,
                                                        "column": 32
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "CallExpression",
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "queue",
                                                          "range": [
                                                            5473,
                                                            5478
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 144,
                                                              "column": 33
                                                            },
                                                            "end": {
                                                              "line": 144,
                                                              "column": 38
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "subscribe",
                                                          "range": [
                                                            5479,
                                                            5488
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 144,
                                                              "column": 39
                                                            },
                                                            "end": {
                                                              "line": 144,
                                                              "column": 48
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          5473,
                                                          5488
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 144,
                                                            "column": 33
                                                          },
                                                          "end": {
                                                            "line": 144,
                                                            "column": 48
                                                          }
                                                        }
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "MemberExpression",
                                                          "computed": false,
                                                          "object": {
                                                            "type": "Identifier",
                                                            "name": "_this",
                                                            "range": [
                                                              5489,
                                                              5494
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 144,
                                                                "column": 49
                                                              },
                                                              "end": {
                                                                "line": 144,
                                                                "column": 54
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "name": "destination",
                                                            "range": [
                                                              5495,
                                                              5506
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 144,
                                                                "column": 55
                                                              },
                                                              "end": {
                                                                "line": 144,
                                                                "column": 66
                                                              }
                                                            }
                                                          },
                                                          "range": [
                                                            5489,
                                                            5506
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 144,
                                                              "column": 49
                                                            },
                                                            "end": {
                                                              "line": 144,
                                                              "column": 66
                                                            }
                                                          }
                                                        }
                                                      ],
                                                      "range": [
                                                        5473,
                                                        5507
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 144,
                                                          "column": 33
                                                        },
                                                        "end": {
                                                          "line": 144,
                                                          "column": 67
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    5456,
                                                    5508
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 144,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 144,
                                                      "column": 68
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  5456,
                                                  5509
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 144,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 144,
                                                    "column": 69
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              5438,
                                              5523
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 143,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 145,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "alternate": null,
                                          "range": [
                                            5393,
                                            5523
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 145,
                                              "column": 13
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4216,
                                        5533
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      4203,
                                      5533
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    4187,
                                    5533
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  4187,
                                  5534
                                ],
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 10
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "socket",
                                      "range": [
                                        5543,
                                        5549
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "onerror",
                                      "range": [
                                        5550,
                                        5557
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      5543,
                                      5557
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "FunctionExpression",
                                    "id": null,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "e",
                                        "range": [
                                          5570,
                                          5571
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 36
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "_this",
                                                "range": [
                                                  5587,
                                                  5592
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 148,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 148,
                                                    "column": 17
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_resetState",
                                                "range": [
                                                  5593,
                                                  5604
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 148,
                                                    "column": 18
                                                  },
                                                  "end": {
                                                    "line": 148,
                                                    "column": 29
                                                  }
                                                }
                                              },
                                              "range": [
                                                5587,
                                                5604
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 148,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 148,
                                                  "column": 29
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              5587,
                                              5606
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            5587,
                                            5607
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 32
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "observer",
                                                "range": [
                                                  5620,
                                                  5628
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 149,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 149,
                                                    "column": 20
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "error",
                                                "range": [
                                                  5629,
                                                  5634
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 149,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 149,
                                                    "column": 26
                                                  }
                                                }
                                              },
                                              "range": [
                                                5620,
                                                5634
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 149,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 149,
                                                  "column": 26
                                                }
                                              }
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "name": "e",
                                                "range": [
                                                  5635,
                                                  5636
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 149,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 149,
                                                    "column": 28
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              5620,
                                              5637
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 149,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 149,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "range": [
                                            5620,
                                            5638
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 30
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5573,
                                        5648
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 150,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      5560,
                                      5648
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    5543,
                                    5648
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 150,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  5543,
                                  5649
                                ],
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 150,
                                    "column": 10
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "socket",
                                      "range": [
                                        5658,
                                        5664
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "onclose",
                                      "range": [
                                        5665,
                                        5672
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      5658,
                                      5672
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "FunctionExpression",
                                    "id": null,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "e",
                                        "range": [
                                          5685,
                                          5686
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 36
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "expression": {
                                            "type": "CallExpression",
                                            "callee": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "_this",
                                                "range": [
                                                  5702,
                                                  5707
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 152,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 152,
                                                    "column": 17
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "_resetState",
                                                "range": [
                                                  5708,
                                                  5719
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 152,
                                                    "column": 18
                                                  },
                                                  "end": {
                                                    "line": 152,
                                                    "column": 29
                                                  }
                                                }
                                              },
                                              "range": [
                                                5702,
                                                5719
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 152,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 152,
                                                  "column": 29
                                                }
                                              }
                                            },
                                            "arguments": [],
                                            "range": [
                                              5702,
                                              5721
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            5702,
                                            5722
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 32
                                            }
                                          }
                                        },
                                        {
                                          "type": "VariableDeclaration",
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "id": {
                                                "type": "Identifier",
                                                "name": "closeObserver",
                                                "range": [
                                                  5739,
                                                  5752
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 153,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 153,
                                                    "column": 29
                                                  }
                                                }
                                              },
                                              "init": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "Identifier",
                                                  "name": "_this",
                                                  "range": [
                                                    5755,
                                                    5760
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 153,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 153,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "closeObserver",
                                                  "range": [
                                                    5761,
                                                    5774
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 153,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 153,
                                                      "column": 51
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  5755,
                                                  5774
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 153,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 153,
                                                    "column": 51
                                                  }
                                                }
                                              },
                                              "range": [
                                                5739,
                                                5774
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 153,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 153,
                                                  "column": 51
                                                }
                                              }
                                            }
                                          ],
                                          "kind": "var",
                                          "range": [
                                            5735,
                                            5775
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 52
                                            }
                                          }
                                        },
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "Identifier",
                                            "name": "closeObserver",
                                            "range": [
                                              5792,
                                              5805
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 154,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 154,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "closeObserver",
                                                      "range": [
                                                        5825,
                                                        5838
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 155,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 155,
                                                          "column": 29
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "next",
                                                      "range": [
                                                        5839,
                                                        5843
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 155,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 155,
                                                          "column": 34
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5825,
                                                      5843
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 155,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 155,
                                                        "column": 34
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "e",
                                                      "range": [
                                                        5844,
                                                        5845
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 155,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 155,
                                                          "column": 36
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    5825,
                                                    5846
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 155,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 155,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  5825,
                                                  5847
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 155,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 155,
                                                    "column": 38
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              5807,
                                              5861
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 154,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 156,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "alternate": null,
                                          "range": [
                                            5788,
                                            5861
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 154,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 13
                                            }
                                          }
                                        },
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "Identifier",
                                              "name": "e",
                                              "range": [
                                                5878,
                                                5879
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 157,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 157,
                                                  "column": 17
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "wasClean",
                                              "range": [
                                                5880,
                                                5888
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 157,
                                                  "column": 18
                                                },
                                                "end": {
                                                  "line": 157,
                                                  "column": 26
                                                }
                                              }
                                            },
                                            "range": [
                                              5878,
                                              5888
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 157,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 157,
                                                "column": 26
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "observer",
                                                      "range": [
                                                        5908,
                                                        5916
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 158,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 158,
                                                          "column": 24
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "complete",
                                                      "range": [
                                                        5917,
                                                        5925
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 158,
                                                          "column": 25
                                                        },
                                                        "end": {
                                                          "line": 158,
                                                          "column": 33
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5908,
                                                      5925
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 158,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 158,
                                                        "column": 33
                                                      }
                                                    }
                                                  },
                                                  "arguments": [],
                                                  "range": [
                                                    5908,
                                                    5927
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 158,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 158,
                                                      "column": 35
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  5908,
                                                  5928
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 158,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 158,
                                                    "column": 36
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              5890,
                                              5942
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 157,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 159,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "alternate": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "observer",
                                                      "range": [
                                                        5978,
                                                        5986
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 161,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 161,
                                                          "column": 24
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "error",
                                                      "range": [
                                                        5987,
                                                        5992
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 161,
                                                          "column": 25
                                                        },
                                                        "end": {
                                                          "line": 161,
                                                          "column": 30
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      5978,
                                                      5992
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 161,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 161,
                                                        "column": 30
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "e",
                                                      "range": [
                                                        5993,
                                                        5994
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 161,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 161,
                                                          "column": 32
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    5978,
                                                    5995
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 161,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 161,
                                                      "column": 33
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  5978,
                                                  5996
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 161,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 161,
                                                    "column": 34
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              5960,
                                              6010
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 160,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 162,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "range": [
                                            5874,
                                            6010
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 157,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 162,
                                              "column": 13
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5688,
                                        6020
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 163,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      5675,
                                      6020
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    5658,
                                    6020
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  5658,
                                  6021
                                ],
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 10
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "socket",
                                      "range": [
                                        6030,
                                        6036
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "onmessage",
                                      "range": [
                                        6037,
                                        6046
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      6030,
                                      6046
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 164,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "FunctionExpression",
                                    "id": null,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "name": "e",
                                        "range": [
                                          6059,
                                          6060
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 164,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 164,
                                            "column": 38
                                          }
                                        }
                                      }
                                    ],
                                    "body": {
                                      "type": "BlockStatement",
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "id": {
                                                "type": "Identifier",
                                                "name": "result",
                                                "range": [
                                                  6080,
                                                  6086
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 165,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 165,
                                                    "column": 22
                                                  }
                                                }
                                              },
                                              "init": {
                                                "type": "CallExpression",
                                                "callee": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "Identifier",
                                                    "name": "tryCatch",
                                                    "range": [
                                                      6089,
                                                      6097
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 165,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 165,
                                                        "column": 33
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "_this",
                                                        "range": [
                                                          6098,
                                                          6103
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 165,
                                                            "column": 34
                                                          },
                                                          "end": {
                                                            "line": 165,
                                                            "column": 39
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "resultSelector",
                                                        "range": [
                                                          6104,
                                                          6118
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 165,
                                                            "column": 40
                                                          },
                                                          "end": {
                                                            "line": 165,
                                                            "column": 54
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        6098,
                                                        6118
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 165,
                                                          "column": 34
                                                        },
                                                        "end": {
                                                          "line": 165,
                                                          "column": 54
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    6089,
                                                    6119
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 165,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 165,
                                                      "column": 55
                                                    }
                                                  }
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "name": "e",
                                                    "range": [
                                                      6120,
                                                      6121
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 165,
                                                        "column": 56
                                                      },
                                                      "end": {
                                                        "line": 165,
                                                        "column": 57
                                                      }
                                                    }
                                                  }
                                                ],
                                                "range": [
                                                  6089,
                                                  6122
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 165,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 165,
                                                    "column": 58
                                                  }
                                                }
                                              },
                                              "range": [
                                                6080,
                                                6122
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 165,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 165,
                                                  "column": 58
                                                }
                                              }
                                            }
                                          ],
                                          "kind": "var",
                                          "range": [
                                            6076,
                                            6123
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 165,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 165,
                                              "column": 59
                                            }
                                          }
                                        },
                                        {
                                          "type": "IfStatement",
                                          "test": {
                                            "type": "BinaryExpression",
                                            "operator": "===",
                                            "left": {
                                              "type": "Identifier",
                                              "name": "result",
                                              "range": [
                                                6140,
                                                6146
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 166,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 166,
                                                  "column": 22
                                                }
                                              }
                                            },
                                            "right": {
                                              "type": "Identifier",
                                              "name": "errorObject",
                                              "range": [
                                                6151,
                                                6162
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 166,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 166,
                                                  "column": 38
                                                }
                                              }
                                            },
                                            "range": [
                                              6140,
                                              6162
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 166,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 166,
                                                "column": 38
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "observer",
                                                      "range": [
                                                        6182,
                                                        6190
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 167,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 167,
                                                          "column": 24
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "error",
                                                      "range": [
                                                        6191,
                                                        6196
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 167,
                                                          "column": 25
                                                        },
                                                        "end": {
                                                          "line": 167,
                                                          "column": 30
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      6182,
                                                      6196
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 167,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 167,
                                                        "column": 30
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "errorObject",
                                                        "range": [
                                                          6197,
                                                          6208
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 167,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 167,
                                                            "column": 42
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "e",
                                                        "range": [
                                                          6209,
                                                          6210
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 167,
                                                            "column": 43
                                                          },
                                                          "end": {
                                                            "line": 167,
                                                            "column": 44
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        6197,
                                                        6210
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 167,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 167,
                                                          "column": 44
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    6182,
                                                    6211
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 167,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 167,
                                                      "column": 45
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  6182,
                                                  6212
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 167,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 167,
                                                    "column": 46
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              6164,
                                              6226
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 166,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 168,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "alternate": {
                                            "type": "BlockStatement",
                                            "body": [
                                              {
                                                "type": "ExpressionStatement",
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "observer",
                                                      "range": [
                                                        6262,
                                                        6270
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 170,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 170,
                                                          "column": 24
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "next",
                                                      "range": [
                                                        6271,
                                                        6275
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 170,
                                                          "column": 25
                                                        },
                                                        "end": {
                                                          "line": 170,
                                                          "column": 29
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      6262,
                                                      6275
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 170,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 170,
                                                        "column": 29
                                                      }
                                                    }
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "name": "result",
                                                      "range": [
                                                        6276,
                                                        6282
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 170,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 170,
                                                          "column": 36
                                                        }
                                                      }
                                                    }
                                                  ],
                                                  "range": [
                                                    6262,
                                                    6283
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 170,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 170,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  6262,
                                                  6284
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 170,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 170,
                                                    "column": 38
                                                  }
                                                }
                                              }
                                            ],
                                            "range": [
                                              6244,
                                              6298
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 169,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 171,
                                                "column": 13
                                              }
                                            }
                                          },
                                          "range": [
                                            6136,
                                            6298
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 166,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 171,
                                              "column": 13
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        6062,
                                        6308
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 172,
                                          "column": 9
                                        }
                                      }
                                    },
                                    "generator": false,
                                    "expression": false,
                                    "range": [
                                      6049,
                                      6308
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    6030,
                                    6308
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 164,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 172,
                                      "column": 9
                                    }
                                  }
                                },
                                "range": [
                                  6030,
                                  6309
                                ],
                                "loc": {
                                  "start": {
                                    "line": 164,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 10
                                  }
                                }
                              }
                            ],
                            "range": [
                              3555,
                              6315
                            ],
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 60
                              },
                              "end": {
                                "line": 173,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            3543,
                            6315
                          ],
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 48
                            },
                            "end": {
                              "line": 173,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          3499,
                          6315
                        ],
                        "loc": {
                          "start": {
                            "line": 95,
                            "column": 4
                          },
                          "end": {
                            "line": 173,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3499,
                        6316
                      ],
                      "loc": {
                        "start": {
                          "line": 95,
                          "column": 4
                        },
                        "end": {
                          "line": 173,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "WebSocketSubject",
                              "range": [
                                6321,
                                6337
                              ],
                              "loc": {
                                "start": {
                                  "line": 174,
                                  "column": 4
                                },
                                "end": {
                                  "line": 174,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                6338,
                                6347
                              ],
                              "loc": {
                                "start": {
                                  "line": 174,
                                  "column": 21
                                },
                                "end": {
                                  "line": 174,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              6321,
                              6347
                            ],
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 4
                              },
                              "end": {
                                "line": 174,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_subscribe",
                            "range": [
                              6348,
                              6358
                            ],
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 31
                              },
                              "end": {
                                "line": 174,
                                "column": 41
                              }
                            }
                          },
                          "range": [
                            6321,
                            6358
                          ],
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 4
                            },
                            "end": {
                              "line": 174,
                              "column": 41
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [
                            {
                              "type": "Identifier",
                              "name": "subscriber",
                              "range": [
                                6371,
                                6381
                              ],
                              "loc": {
                                "start": {
                                  "line": 174,
                                  "column": 54
                                },
                                "end": {
                                  "line": 174,
                                  "column": 64
                                }
                              }
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "_this",
                                      "range": [
                                        6397,
                                        6402
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 175,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 175,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "range": [
                                        6405,
                                        6409
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 175,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 175,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      6397,
                                      6409
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 175,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 175,
                                        "column": 24
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  6393,
                                  6410
                                ],
                                "loc": {
                                  "start": {
                                    "line": 175,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 175,
                                    "column": 25
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        6423,
                                        6429
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 18
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          6432,
                                          6436
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 25
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "source",
                                        "range": [
                                          6437,
                                          6443
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 176,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 176,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "range": [
                                        6432,
                                        6443
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      6423,
                                      6443
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 32
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  6419,
                                  6444
                                ],
                                "loc": {
                                  "start": {
                                    "line": 176,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 33
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "Identifier",
                                  "name": "source",
                                  "range": [
                                    6457,
                                    6463
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 177,
                                      "column": 18
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "source",
                                            "range": [
                                              6486,
                                              6492
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 178,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 178,
                                                "column": 25
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "subscribe",
                                            "range": [
                                              6493,
                                              6502
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 178,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 178,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "range": [
                                            6486,
                                            6502
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 178,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 178,
                                              "column": 35
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "subscriber",
                                            "range": [
                                              6503,
                                              6513
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 178,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 178,
                                                "column": 46
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          6486,
                                          6514
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 178,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 178,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "range": [
                                        6479,
                                        6515
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 178,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 178,
                                          "column": 48
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    6465,
                                    6525
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 177,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 179,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  6453,
                                  6525
                                ],
                                "loc": {
                                  "start": {
                                    "line": 177,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 179,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        6539,
                                        6543
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 180,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 180,
                                          "column": 17
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "socket",
                                      "range": [
                                        6544,
                                        6550
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 180,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 180,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      6539,
                                      6550
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 180,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 180,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    6538,
                                    6550
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 180,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 180,
                                      "column": 24
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              6566,
                                              6570
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 181,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 181,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_connectSocket",
                                            "range": [
                                              6571,
                                              6585
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 181,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 181,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            6566,
                                            6585
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 181,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 181,
                                              "column": 31
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          6566,
                                          6587
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 181,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 181,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "range": [
                                        6566,
                                        6588
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 181,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 181,
                                          "column": 34
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    6552,
                                    6598
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 180,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 182,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  6534,
                                  6598
                                ],
                                "loc": {
                                  "start": {
                                    "line": 180,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "subscription",
                                      "range": [
                                        6611,
                                        6623
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "Subscription",
                                        "range": [
                                          6630,
                                          6642
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        6626,
                                        6644
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      6611,
                                      6644
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 183,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 183,
                                        "column": 45
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  6607,
                                  6645
                                ],
                                "loc": {
                                  "start": {
                                    "line": 183,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 183,
                                    "column": 46
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "subscription",
                                      "range": [
                                        6654,
                                        6666
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 184,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 184,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "add",
                                      "range": [
                                        6667,
                                        6670
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 184,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 184,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      6654,
                                      6670
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              6671,
                                              6675
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 184,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 184,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_output",
                                            "range": [
                                              6676,
                                              6683
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 184,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 184,
                                                "column": 37
                                              }
                                            }
                                          },
                                          "range": [
                                            6671,
                                            6683
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 184,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 184,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "subscribe",
                                          "range": [
                                            6684,
                                            6693
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 184,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 184,
                                              "column": 47
                                            }
                                          }
                                        },
                                        "range": [
                                          6671,
                                          6693
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 184,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 184,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "name": "subscriber",
                                          "range": [
                                            6694,
                                            6704
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 184,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 184,
                                              "column": 58
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        6671,
                                        6705
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 184,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 184,
                                          "column": 59
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    6654,
                                    6706
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 60
                                    }
                                  }
                                },
                                "range": [
                                  6654,
                                  6707
                                ],
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 61
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "subscription",
                                      "range": [
                                        6716,
                                        6728
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "add",
                                      "range": [
                                        6729,
                                        6732
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      6716,
                                      6732
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "FunctionExpression",
                                      "id": null,
                                      "params": [],
                                      "body": {
                                        "type": "BlockStatement",
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "id": {
                                                  "type": "Identifier",
                                                  "name": "socket",
                                                  "range": [
                                                    6763,
                                                    6769
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 186,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 186,
                                                      "column": 22
                                                    }
                                                  }
                                                },
                                                "init": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "Identifier",
                                                    "name": "_this",
                                                    "range": [
                                                      6772,
                                                      6777
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 186,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 186,
                                                        "column": 30
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "socket",
                                                    "range": [
                                                      6778,
                                                      6784
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 186,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 186,
                                                        "column": 37
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    6772,
                                                    6784
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 186,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 186,
                                                      "column": 37
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  6763,
                                                  6784
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 186,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 186,
                                                    "column": 37
                                                  }
                                                }
                                              }
                                            ],
                                            "kind": "var",
                                            "range": [
                                              6759,
                                              6785
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 186,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 186,
                                                "column": 38
                                              }
                                            }
                                          },
                                          {
                                            "type": "IfStatement",
                                            "test": {
                                              "type": "BinaryExpression",
                                              "operator": "===",
                                              "left": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": false,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "Identifier",
                                                      "name": "_this",
                                                      "range": [
                                                        6802,
                                                        6807
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 187,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 187,
                                                          "column": 21
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "_output",
                                                      "range": [
                                                        6808,
                                                        6815
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 187,
                                                          "column": 22
                                                        },
                                                        "end": {
                                                          "line": 187,
                                                          "column": 29
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      6802,
                                                      6815
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 187,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 187,
                                                        "column": 29
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "observers",
                                                    "range": [
                                                      6816,
                                                      6825
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 187,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 187,
                                                        "column": 39
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    6802,
                                                    6825
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 187,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 187,
                                                      "column": 39
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "length",
                                                  "range": [
                                                    6826,
                                                    6832
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 187,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 187,
                                                      "column": 46
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  6802,
                                                  6832
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 187,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 187,
                                                    "column": 46
                                                  }
                                                }
                                              },
                                              "right": {
                                                "type": "Literal",
                                                "value": 0,
                                                "raw": "0",
                                                "range": [
                                                  6837,
                                                  6838
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 187,
                                                    "column": 51
                                                  },
                                                  "end": {
                                                    "line": 187,
                                                    "column": 52
                                                  }
                                                }
                                              },
                                              "range": [
                                                6802,
                                                6838
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 187,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 187,
                                                  "column": 52
                                                }
                                              }
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "body": [
                                                {
                                                  "type": "IfStatement",
                                                  "test": {
                                                    "type": "LogicalExpression",
                                                    "operator": "&&",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "name": "socket",
                                                      "range": [
                                                        6862,
                                                        6868
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 188,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 188,
                                                          "column": 26
                                                        }
                                                      }
                                                    },
                                                    "right": {
                                                      "type": "BinaryExpression",
                                                      "operator": "===",
                                                      "left": {
                                                        "type": "MemberExpression",
                                                        "computed": false,
                                                        "object": {
                                                          "type": "Identifier",
                                                          "name": "socket",
                                                          "range": [
                                                            6872,
                                                            6878
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 188,
                                                              "column": 30
                                                            },
                                                            "end": {
                                                              "line": 188,
                                                              "column": 36
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "name": "readyState",
                                                          "range": [
                                                            6879,
                                                            6889
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 188,
                                                              "column": 37
                                                            },
                                                            "end": {
                                                              "line": 188,
                                                              "column": 47
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          6872,
                                                          6889
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 188,
                                                            "column": 30
                                                          },
                                                          "end": {
                                                            "line": 188,
                                                            "column": 47
                                                          }
                                                        }
                                                      },
                                                      "right": {
                                                        "type": "Literal",
                                                        "value": 1,
                                                        "raw": "1",
                                                        "range": [
                                                          6894,
                                                          6895
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 188,
                                                            "column": 52
                                                          },
                                                          "end": {
                                                            "line": 188,
                                                            "column": 53
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        6872,
                                                        6895
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 188,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 188,
                                                          "column": 53
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      6862,
                                                      6895
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 188,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 188,
                                                        "column": 53
                                                      }
                                                    }
                                                  },
                                                  "consequent": {
                                                    "type": "BlockStatement",
                                                    "body": [
                                                      {
                                                        "type": "ExpressionStatement",
                                                        "expression": {
                                                          "type": "CallExpression",
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "computed": false,
                                                            "object": {
                                                              "type": "Identifier",
                                                              "name": "socket",
                                                              "range": [
                                                                6919,
                                                                6925
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 189,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 189,
                                                                  "column": 26
                                                                }
                                                              }
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "name": "close",
                                                              "range": [
                                                                6926,
                                                                6931
                                                              ],
                                                              "loc": {
                                                                "start": {
                                                                  "line": 189,
                                                                  "column": 27
                                                                },
                                                                "end": {
                                                                  "line": 189,
                                                                  "column": 32
                                                                }
                                                              }
                                                            },
                                                            "range": [
                                                              6919,
                                                              6931
                                                            ],
                                                            "loc": {
                                                              "start": {
                                                                "line": 189,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 189,
                                                                "column": 32
                                                              }
                                                            }
                                                          },
                                                          "arguments": [],
                                                          "range": [
                                                            6919,
                                                            6933
                                                          ],
                                                          "loc": {
                                                            "start": {
                                                              "line": 189,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 189,
                                                              "column": 34
                                                            }
                                                          }
                                                        },
                                                        "range": [
                                                          6919,
                                                          6934
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 189,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 189,
                                                            "column": 35
                                                          }
                                                        }
                                                      }
                                                    ],
                                                    "range": [
                                                      6897,
                                                      6952
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 188,
                                                        "column": 55
                                                      },
                                                      "end": {
                                                        "line": 190,
                                                        "column": 17
                                                      }
                                                    }
                                                  },
                                                  "alternate": null,
                                                  "range": [
                                                    6858,
                                                    6952
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 188,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 190,
                                                      "column": 17
                                                    }
                                                  }
                                                },
                                                {
                                                  "type": "ExpressionStatement",
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "computed": false,
                                                      "object": {
                                                        "type": "Identifier",
                                                        "name": "_this",
                                                        "range": [
                                                          6969,
                                                          6974
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 191,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 191,
                                                            "column": 21
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "name": "_resetState",
                                                        "range": [
                                                          6975,
                                                          6986
                                                        ],
                                                        "loc": {
                                                          "start": {
                                                            "line": 191,
                                                            "column": 22
                                                          },
                                                          "end": {
                                                            "line": 191,
                                                            "column": 33
                                                          }
                                                        }
                                                      },
                                                      "range": [
                                                        6969,
                                                        6986
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 191,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 191,
                                                          "column": 33
                                                        }
                                                      }
                                                    },
                                                    "arguments": [],
                                                    "range": [
                                                      6969,
                                                      6988
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 191,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 191,
                                                        "column": 35
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    6969,
                                                    6989
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 191,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 191,
                                                      "column": 36
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                6840,
                                                7003
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 187,
                                                  "column": 54
                                                },
                                                "end": {
                                                  "line": 192,
                                                  "column": 13
                                                }
                                              }
                                            },
                                            "alternate": null,
                                            "range": [
                                              6798,
                                              7003
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 187,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 192,
                                                "column": 13
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          6745,
                                          7013
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 193,
                                            "column": 9
                                          }
                                        }
                                      },
                                      "generator": false,
                                      "expression": false,
                                      "range": [
                                        6733,
                                        7013
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 193,
                                          "column": 9
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    6716,
                                    7014
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 193,
                                      "column": 10
                                    }
                                  }
                                },
                                "range": [
                                  6716,
                                  7015
                                ],
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 193,
                                    "column": 11
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "argument": {
                                  "type": "Identifier",
                                  "name": "subscription",
                                  "range": [
                                    7031,
                                    7043
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 194,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 194,
                                      "column": 27
                                    }
                                  }
                                },
                                "range": [
                                  7024,
                                  7044
                                ],
                                "loc": {
                                  "start": {
                                    "line": 194,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 194,
                                    "column": 28
                                  }
                                }
                              }
                            ],
                            "range": [
                              6383,
                              7050
                            ],
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 66
                              },
                              "end": {
                                "line": 195,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            6361,
                            7050
                          ],
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 44
                            },
                            "end": {
                              "line": 195,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          6321,
                          7050
                        ],
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 4
                          },
                          "end": {
                            "line": 195,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        6321,
                        7051
                      ],
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 4
                        },
                        "end": {
                          "line": 195,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "WebSocketSubject",
                              "range": [
                                7056,
                                7072
                              ],
                              "loc": {
                                "start": {
                                  "line": 196,
                                  "column": 4
                                },
                                "end": {
                                  "line": 196,
                                  "column": 20
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "prototype",
                              "range": [
                                7073,
                                7082
                              ],
                              "loc": {
                                "start": {
                                  "line": 196,
                                  "column": 21
                                },
                                "end": {
                                  "line": 196,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              7056,
                              7082
                            ],
                            "loc": {
                              "start": {
                                "line": 196,
                                "column": 4
                              },
                              "end": {
                                "line": 196,
                                "column": 30
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "unsubscribe",
                            "range": [
                              7083,
                              7094
                            ],
                            "loc": {
                              "start": {
                                "line": 196,
                                "column": 31
                              },
                              "end": {
                                "line": 196,
                                "column": 42
                              }
                            }
                          },
                          "range": [
                            7056,
                            7094
                          ],
                          "loc": {
                            "start": {
                              "line": 196,
                              "column": 4
                            },
                            "end": {
                              "line": 196,
                              "column": 42
                            }
                          }
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "id": null,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "_a",
                                      "range": [
                                        7123,
                                        7125
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 14
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "ThisExpression",
                                      "range": [
                                        7128,
                                        7132
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 21
                                        }
                                      }
                                    },
                                    "range": [
                                      7123,
                                      7132
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 197,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 197,
                                        "column": 21
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        7134,
                                        7140
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_a",
                                        "range": [
                                          7143,
                                          7145
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "source",
                                        "range": [
                                          7146,
                                          7152
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 41
                                          }
                                        }
                                      },
                                      "range": [
                                        7143,
                                        7152
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "range": [
                                      7134,
                                      7152
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 197,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 197,
                                        "column": 41
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclarator",
                                    "id": {
                                      "type": "Identifier",
                                      "name": "socket",
                                      "range": [
                                        7154,
                                        7160
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 49
                                        }
                                      }
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "_a",
                                        "range": [
                                          7163,
                                          7165
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "socket",
                                        "range": [
                                          7166,
                                          7172
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 197,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 197,
                                            "column": 61
                                          }
                                        }
                                      },
                                      "range": [
                                        7163,
                                        7172
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 197,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 197,
                                          "column": 61
                                        }
                                      }
                                    },
                                    "range": [
                                      7154,
                                      7172
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 197,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 197,
                                        "column": 61
                                      }
                                    }
                                  }
                                ],
                                "kind": "var",
                                "range": [
                                  7119,
                                  7173
                                ],
                                "loc": {
                                  "start": {
                                    "line": 197,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 197,
                                    "column": 62
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "LogicalExpression",
                                  "operator": "&&",
                                  "left": {
                                    "type": "Identifier",
                                    "name": "socket",
                                    "range": [
                                      7186,
                                      7192
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "BinaryExpression",
                                    "operator": "===",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "Identifier",
                                        "name": "socket",
                                        "range": [
                                          7196,
                                          7202
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "readyState",
                                        "range": [
                                          7203,
                                          7213
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 198,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 198,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        7196,
                                        7213
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 198,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 198,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "value": 1,
                                      "raw": "1",
                                      "range": [
                                        7218,
                                        7219
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 198,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 198,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      7196,
                                      7219
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 198,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 198,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "range": [
                                    7186,
                                    7219
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 198,
                                      "column": 45
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "socket",
                                            "range": [
                                              7235,
                                              7241
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 199,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 199,
                                                "column": 18
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "close",
                                            "range": [
                                              7242,
                                              7247
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 199,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 199,
                                                "column": 24
                                              }
                                            }
                                          },
                                          "range": [
                                            7235,
                                            7247
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 199,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 199,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          7235,
                                          7249
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 199,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 199,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "range": [
                                        7235,
                                        7250
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 199,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 199,
                                          "column": 27
                                        }
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              7263,
                                              7267
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 200,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 200,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "_resetState",
                                            "range": [
                                              7268,
                                              7279
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 200,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 200,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            7263,
                                            7279
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 200,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 200,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "arguments": [],
                                        "range": [
                                          7263,
                                          7281
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 200,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 200,
                                            "column": 30
                                          }
                                        }
                                      },
                                      "range": [
                                        7263,
                                        7282
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 200,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 200,
                                          "column": 31
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    7221,
                                    7292
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 198,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 201,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  7182,
                                  7292
                                ],
                                "loc": {
                                  "start": {
                                    "line": 198,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 201,
                                    "column": 9
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "expression": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "_super",
                                          "range": [
                                            7301,
                                            7307
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 202,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 202,
                                              "column": 14
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "prototype",
                                          "range": [
                                            7308,
                                            7317
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 202,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 202,
                                              "column": 24
                                            }
                                          }
                                        },
                                        "range": [
                                          7301,
                                          7317
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 202,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 202,
                                            "column": 24
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "unsubscribe",
                                        "range": [
                                          7318,
                                          7329
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 202,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 202,
                                            "column": 36
                                          }
                                        }
                                      },
                                      "range": [
                                        7301,
                                        7329
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 202,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 202,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "call",
                                      "range": [
                                        7330,
                                        7334
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 202,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 202,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "range": [
                                      7301,
                                      7334
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 41
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "ThisExpression",
                                      "range": [
                                        7335,
                                        7339
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 202,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 202,
                                          "column": 46
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    7301,
                                    7340
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 47
                                    }
                                  }
                                },
                                "range": [
                                  7301,
                                  7341
                                ],
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 48
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "test": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      7355,
                                      7361
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 203,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 203,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    7354,
                                    7361
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 203,
                                      "column": 19
                                    }
                                  }
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "operator": "=",
                                        "left": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              7377,
                                              7381
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 204,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "destination",
                                            "range": [
                                              7382,
                                              7393
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 204,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 28
                                              }
                                            }
                                          },
                                          "range": [
                                            7377,
                                            7393
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 204,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 204,
                                              "column": 28
                                            }
                                          }
                                        },
                                        "right": {
                                          "type": "NewExpression",
                                          "callee": {
                                            "type": "Identifier",
                                            "name": "ReplaySubject",
                                            "range": [
                                              7400,
                                              7413
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 204,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 204,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "arguments": [],
                                          "range": [
                                            7396,
                                            7415
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 204,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 204,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "range": [
                                          7377,
                                          7415
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 204,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 204,
                                            "column": 50
                                          }
                                        }
                                      },
                                      "range": [
                                        7377,
                                        7416
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 204,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 204,
                                          "column": 51
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    7363,
                                    7426
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 203,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 9
                                    }
                                  }
                                },
                                "alternate": null,
                                "range": [
                                  7350,
                                  7426
                                ],
                                "loc": {
                                  "start": {
                                    "line": 203,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 205,
                                    "column": 9
                                  }
                                }
                              }
                            ],
                            "range": [
                              7109,
                              7432
                            ],
                            "loc": {
                              "start": {
                                "line": 196,
                                "column": 57
                              },
                              "end": {
                                "line": 206,
                                "column": 5
                              }
                            }
                          },
                          "generator": false,
                          "expression": false,
                          "range": [
                            7097,
                            7432
                          ],
                          "loc": {
                            "start": {
                              "line": 196,
                              "column": 45
                            },
                            "end": {
                              "line": 206,
                              "column": 5
                            }
                          }
                        },
                        "range": [
                          7056,
                          7432
                        ],
                        "loc": {
                          "start": {
                            "line": 196,
                            "column": 4
                          },
                          "end": {
                            "line": 206,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        7056,
                        7433
                      ],
                      "loc": {
                        "start": {
                          "line": 196,
                          "column": 4
                        },
                        "end": {
                          "line": 206,
                          "column": 6
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "WebSocketSubject",
                        "range": [
                          7445,
                          7461
                        ],
                        "loc": {
                          "start": {
                            "line": 207,
                            "column": 11
                          },
                          "end": {
                            "line": 207,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        7438,
                        7462
                      ],
                      "loc": {
                        "start": {
                          "line": 207,
                          "column": 4
                        },
                        "end": {
                          "line": 207,
                          "column": 28
                        }
                      }
                    }
                  ],
                  "range": [
                    587,
                    7464
                  ],
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 49
                    },
                    "end": {
                      "line": 208,
                      "column": 1
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  569,
                  7464
                ],
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 31
                  },
                  "end": {
                    "line": 208,
                    "column": 1
                  }
                }
              },
              "arguments": [
                {
                  "type": "Identifier",
                  "name": "AnonymousSubject",
                  "range": [
                    7465,
                    7481
                  ],
                  "loc": {
                    "start": {
                      "line": 208,
                      "column": 2
                    },
                    "end": {
                      "line": 208,
                      "column": 18
                    }
                  }
                }
              ],
              "range": [
                569,
                7482
              ],
              "loc": {
                "start": {
                  "line": 15,
                  "column": 31
                },
                "end": {
                  "line": 208,
                  "column": 19
                }
              }
            },
            "range": [
              549,
              7483
            ],
            "loc": {
              "start": {
                "line": 15,
                "column": 11
              },
              "end": {
                "line": 208,
                "column": 20
              }
            }
          }
        ],
        "kind": "var",
        "range": [
          545,
          7484
        ],
        "loc": {
          "start": {
            "line": 15,
            "column": 7
          },
          "end": {
            "line": 208,
            "column": 21
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
            "range": [
              443,
              537
            ],
            "loc": {
              "start": {
                "line": 10,
                "column": 0
              },
              "end": {
                "line": 14,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Line",
            "value": "# sourceMappingURL=WebSocketSubject.js.map",
            "range": [
              7485,
              7529
            ],
            "loc": {
              "start": {
                "line": 209,
                "column": 0
              },
              "end": {
                "line": 209,
                "column": 44
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        538,
        7484
      ],
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 208,
          "column": 21
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
          "range": [
            443,
            537
          ],
          "loc": {
            "start": {
              "line": 10,
              "column": 0
            },
            "end": {
              "line": 14,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=WebSocketSubject.js.map",
          "range": [
            7485,
            7529
          ],
          "loc": {
            "start": {
              "line": 209,
              "column": 0
            },
            "end": {
              "line": 209,
              "column": 44
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    7484
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 208,
      "column": 21
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n ",
      "range": [
        443,
        537
      ],
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": " WARNING: config object could override important members here.",
      "range": [
        1111,
        1175
      ],
      "loc": {
        "start": {
          "line": 29,
          "column": 16
        },
        "end": {
          "line": 29,
          "column": 80
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * @param urlConfigOrSource\n     * @return {WebSocketSubject}\n     * @static true\n     * @name webSocket\n     * @owner Observable\n     ",
      "range": [
        1543,
        1688
      ],
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 7
        }
      }
    },
    {
      "type": "Line",
      "value": " TODO: factor this out to be a proper Operator/Subscriber implementation and eliminate closures",
      "range": [
        2226,
        2323
      ],
      "loc": {
        "start": {
          "line": 63,
          "column": 4
        },
        "end": {
          "line": 63,
          "column": 101
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=WebSocketSubject.js.map",
      "range": [
        7485,
        7529
      ],
      "loc": {
        "start": {
          "line": 209,
          "column": 0
        },
        "end": {
          "line": 209,
          "column": 44
        }
      }
    }
  ]
}