{
  "type": "File",
  "start": 0,
  "end": 3029,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 87,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 3029,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 87,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 34,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 34
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 9,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 9
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 9,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 9
                },
                "identifierName": "io"
              },
              "name": "io"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 15,
          "end": 33,
          "loc": {
            "start": {
              "line": 1,
              "column": 15
            },
            "end": {
              "line": 1,
              "column": 33
            }
          },
          "extra": {
            "rawValue": "socket.io-client",
            "raw": "'socket.io-client'"
          },
          "value": "socket.io-client"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 35,
        "end": 61,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 26
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 42,
            "end": 46,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 11
              }
            },
            "local": {
              "type": "Identifier",
              "start": 42,
              "end": 46,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 7
                },
                "end": {
                  "line": 2,
                  "column": 11
                },
                "identifierName": "Base"
              },
              "name": "Base"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 52,
          "end": 60,
          "loc": {
            "start": {
              "line": 2,
              "column": 17
            },
            "end": {
              "line": 2,
              "column": 25
            }
          },
          "extra": {
            "rawValue": "./base",
            "raw": "'./base'"
          },
          "value": "./base"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 62,
        "end": 98,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 36
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 69,
            "end": 75,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "local": {
              "type": "Identifier",
              "start": 69,
              "end": 75,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 13
                },
                "identifierName": "Parser"
              },
              "name": "Parser"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 81,
          "end": 97,
          "loc": {
            "start": {
              "line": 3,
              "column": 19
            },
            "end": {
              "line": 3,
              "column": 35
            }
          },
          "extra": {
            "rawValue": "../core/parser",
            "raw": "'../core/parser'"
          },
          "value": "../core/parser"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 99,
        "end": 160,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 61
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 108,
            "end": 121,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 22
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 108,
              "end": 121,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 9
                },
                "end": {
                  "line": 4,
                  "column": 22
                },
                "identifierName": "createContext"
              },
              "name": "createContext"
            },
            "local": {
              "type": "Identifier",
              "start": 108,
              "end": 121,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 9
                },
                "end": {
                  "line": 4,
                  "column": 22
                },
                "identifierName": "createContext"
              },
              "name": "createContext"
            }
          },
          {
            "type": "ImportSpecifier",
            "start": 123,
            "end": 135,
            "loc": {
              "start": {
                "line": 4,
                "column": 24
              },
              "end": {
                "line": 4,
                "column": 36
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 123,
              "end": 135,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 24
                },
                "end": {
                  "line": 4,
                  "column": 36
                },
                "identifierName": "handleResult"
              },
              "name": "handleResult"
            },
            "local": {
              "type": "Identifier",
              "start": 123,
              "end": 135,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 24
                },
                "end": {
                  "line": 4,
                  "column": 36
                },
                "identifierName": "handleResult"
              },
              "name": "handleResult"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 143,
          "end": 159,
          "loc": {
            "start": {
              "line": 4,
              "column": 44
            },
            "end": {
              "line": 4,
              "column": 60
            }
          },
          "extra": {
            "rawValue": "../core/parser",
            "raw": "'../core/parser'"
          },
          "value": "../core/parser"
        }
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 162,
        "end": 3028,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 86,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 177,
          "end": 3028,
          "loc": {
            "start": {
              "line": 6,
              "column": 15
            },
            "end": {
              "line": 86,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 183,
            "end": 191,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 29
              },
              "identifierName": "SocketIO"
            },
            "name": "SocketIO"
          },
          "superClass": {
            "type": "Identifier",
            "start": 200,
            "end": 204,
            "loc": {
              "start": {
                "line": 6,
                "column": 38
              },
              "end": {
                "line": 6,
                "column": 42
              },
              "identifierName": "Base"
            },
            "name": "Base"
          },
          "body": {
            "type": "ClassBody",
            "start": 205,
            "end": 3028,
            "loc": {
              "start": {
                "line": 6,
                "column": 43
              },
              "end": {
                "line": 86,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 211,
                "end": 263,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 4
                  },
                  "end": {
                    "line": 9,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 211,
                  "end": 222,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 4
                    },
                    "end": {
                      "line": 7,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "static": false,
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 223,
                    "end": 230,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 16
                      },
                      "end": {
                        "line": 7,
                        "column": 23
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 232,
                  "end": 263,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 25
                    },
                    "end": {
                      "line": 9,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 242,
                      "end": 257,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 8
                        },
                        "end": {
                          "line": 8,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 242,
                        "end": 256,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 8
                          },
                          "end": {
                            "line": 8,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 242,
                          "end": 247,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 8
                            },
                            "end": {
                              "line": 8,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 248,
                            "end": 255,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 14
                              },
                              "end": {
                                "line": 8,
                                "column": 21
                              },
                              "identifierName": "options"
                            },
                            "name": "options"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 269,
                "end": 1917,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 4
                  },
                  "end": {
                    "line": 55,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 269,
                  "end": 276,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 4
                    },
                    "end": {
                      "line": 11,
                      "column": 11
                    },
                    "identifierName": "connect"
                  },
                  "name": "connect"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 277,
                    "end": 291,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 12
                      },
                      "end": {
                        "line": 11,
                        "column": 26
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 277,
                      "end": 280,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 12
                        },
                        "end": {
                          "line": 11,
                          "column": 15
                        },
                        "identifierName": "url"
                      },
                      "name": "url"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 283,
                      "end": 291,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 18
                        },
                        "end": {
                          "line": 11,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 283,
                        "end": 287,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 18
                          },
                          "end": {
                            "line": 11,
                            "column": 22
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 288,
                        "end": 291,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 23
                          },
                          "end": {
                            "line": 11,
                            "column": 26
                          },
                          "identifierName": "url"
                        },
                        "name": "url"
                      },
                      "computed": false
                    }
                  },
                  {
                    "type": "Identifier",
                    "start": 293,
                    "end": 300,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 28
                      },
                      "end": {
                        "line": 11,
                        "column": 35
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 302,
                  "end": 1917,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 37
                    },
                    "end": {
                      "line": 55,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 312,
                      "end": 1911,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 54,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 319,
                        "end": 1910,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 15
                          },
                          "end": {
                            "line": 54,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 323,
                          "end": 330,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 19
                            },
                            "end": {
                              "line": 12,
                              "column": 26
                            },
                            "identifierName": "Promise"
                          },
                          "name": "Promise"
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 331,
                            "end": 1909,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 27
                              },
                              "end": {
                                "line": 54,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 332,
                                "end": 339,
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 35
                                  },
                                  "identifierName": "resolve"
                                },
                                "name": "resolve"
                              },
                              {
                                "type": "Identifier",
                                "start": 341,
                                "end": 347,
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 43
                                  },
                                  "identifierName": "reject"
                                },
                                "name": "reject"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 352,
                              "end": 1909,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 48
                                },
                                "end": {
                                  "line": 54,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 366,
                                  "end": 381,
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 27
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 366,
                                    "end": 380,
                                    "loc": {
                                      "start": {
                                        "line": 13,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 13,
                                        "column": 26
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 366,
                                      "end": 374,
                                      "loc": {
                                        "start": {
                                          "line": 13,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 13,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 366,
                                        "end": 370,
                                        "loc": {
                                          "start": {
                                            "line": 13,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 13,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 371,
                                        "end": 374,
                                        "loc": {
                                          "start": {
                                            "line": 13,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 13,
                                            "column": 20
                                          },
                                          "identifierName": "url"
                                        },
                                        "name": "url"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 377,
                                      "end": 380,
                                      "loc": {
                                        "start": {
                                          "line": 13,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 13,
                                          "column": 26
                                        },
                                        "identifierName": "url"
                                      },
                                      "name": "url"
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 394,
                                  "end": 416,
                                  "loc": {
                                    "start": {
                                      "line": 14,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 14,
                                      "column": 34
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 394,
                                    "end": 415,
                                    "loc": {
                                      "start": {
                                        "line": 14,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 14,
                                        "column": 33
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 394,
                                      "end": 405,
                                      "loc": {
                                        "start": {
                                          "line": 14,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 14,
                                          "column": 23
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 394,
                                        "end": 398,
                                        "loc": {
                                          "start": {
                                            "line": 14,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 14,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 399,
                                        "end": 405,
                                        "loc": {
                                          "start": {
                                            "line": 14,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 14,
                                            "column": 23
                                          },
                                          "identifierName": "socket"
                                        },
                                        "name": "socket"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 408,
                                      "end": 415,
                                      "loc": {
                                        "start": {
                                          "line": 14,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 14,
                                          "column": 33
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 408,
                                        "end": 410,
                                        "loc": {
                                          "start": {
                                            "line": 14,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 14,
                                            "column": 28
                                          },
                                          "identifierName": "io"
                                        },
                                        "name": "io"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 411,
                                          "end": 414,
                                          "loc": {
                                            "start": {
                                              "line": 14,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 14,
                                              "column": 32
                                            },
                                            "identifierName": "url"
                                          },
                                          "name": "url"
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 429,
                                  "end": 797,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 429,
                                    "end": 796,
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 429,
                                      "end": 445,
                                      "loc": {
                                        "start": {
                                          "line": 15,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 15,
                                          "column": 28
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 429,
                                        "end": 440,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 429,
                                          "end": 433,
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 434,
                                          "end": 440,
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 23
                                            },
                                            "identifierName": "socket"
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 441,
                                        "end": 445,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 28
                                          },
                                          "identifierName": "once"
                                        },
                                        "name": "once"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 446,
                                        "end": 455,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 38
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "connect",
                                          "raw": "'connect'"
                                        },
                                        "value": "connect"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 457,
                                        "end": 795,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 463,
                                          "end": 795,
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 481,
                                              "end": 714,
                                              "loc": {
                                                "start": {
                                                  "line": 16,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 19
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 481,
                                                "end": 713,
                                                "loc": {
                                                  "start": {
                                                    "line": 16,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 21,
                                                    "column": 18
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 481,
                                                  "end": 497,
                                                  "loc": {
                                                    "start": {
                                                      "line": 16,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 16,
                                                      "column": 32
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 481,
                                                    "end": 492,
                                                    "loc": {
                                                      "start": {
                                                        "line": 16,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 16,
                                                        "column": 27
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 481,
                                                      "end": 485,
                                                      "loc": {
                                                        "start": {
                                                          "line": 16,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 16,
                                                          "column": 20
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 486,
                                                      "end": 492,
                                                      "loc": {
                                                        "start": {
                                                          "line": 16,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 16,
                                                          "column": 27
                                                        },
                                                        "identifierName": "socket"
                                                      },
                                                      "name": "socket"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 493,
                                                    "end": 497,
                                                    "loc": {
                                                      "start": {
                                                        "line": 16,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 16,
                                                        "column": 32
                                                      },
                                                      "identifierName": "once"
                                                    },
                                                    "name": "once"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "StringLiteral",
                                                    "start": 498,
                                                    "end": 510,
                                                    "loc": {
                                                      "start": {
                                                        "line": 16,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 16,
                                                        "column": 45
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": "permission",
                                                      "raw": "'permission'"
                                                    },
                                                    "value": "permission"
                                                  },
                                                  {
                                                    "type": "ArrowFunctionExpression",
                                                    "start": 512,
                                                    "end": 712,
                                                    "loc": {
                                                      "start": {
                                                        "line": 16,
                                                        "column": 47
                                                      },
                                                      "end": {
                                                        "line": 21,
                                                        "column": 17
                                                      }
                                                    },
                                                    "id": null,
                                                    "generator": false,
                                                    "expression": false,
                                                    "async": false,
                                                    "params": [
                                                      {
                                                        "type": "Identifier",
                                                        "start": 512,
                                                        "end": 516,
                                                        "loc": {
                                                          "start": {
                                                            "line": 16,
                                                            "column": 47
                                                          },
                                                          "end": {
                                                            "line": 16,
                                                            "column": 51
                                                          },
                                                          "identifierName": "data"
                                                        },
                                                        "name": "data"
                                                      }
                                                    ],
                                                    "body": {
                                                      "type": "BlockStatement",
                                                      "start": 520,
                                                      "end": 712,
                                                      "loc": {
                                                        "start": {
                                                          "line": 16,
                                                          "column": 55
                                                        },
                                                        "end": {
                                                          "line": 21,
                                                          "column": 17
                                                        }
                                                      },
                                                      "body": [
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 542,
                                                          "end": 564,
                                                          "loc": {
                                                            "start": {
                                                              "line": 17,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 17,
                                                              "column": 42
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "start": 542,
                                                            "end": 563,
                                                            "loc": {
                                                              "start": {
                                                                "line": 17,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 17,
                                                                "column": 41
                                                              }
                                                            },
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "start": 542,
                                                              "end": 556,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 17,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 17,
                                                                  "column": 34
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "ThisExpression",
                                                                "start": 542,
                                                                "end": 546,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 17,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 17,
                                                                    "column": 24
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 547,
                                                                "end": 556,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 17,
                                                                    "column": 25
                                                                  },
                                                                  "end": {
                                                                    "line": 17,
                                                                    "column": 34
                                                                  },
                                                                  "identifierName": "connected"
                                                                },
                                                                "name": "connected"
                                                              },
                                                              "computed": false
                                                            },
                                                            "right": {
                                                              "type": "BooleanLiteral",
                                                              "start": 559,
                                                              "end": 563,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 17,
                                                                  "column": 37
                                                                },
                                                                "end": {
                                                                  "line": 17,
                                                                  "column": 41
                                                                }
                                                              },
                                                              "value": true
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 585,
                                                          "end": 603,
                                                          "loc": {
                                                            "start": {
                                                              "line": 18,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 18,
                                                              "column": 38
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "start": 585,
                                                            "end": 602,
                                                            "loc": {
                                                              "start": {
                                                                "line": 18,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 18,
                                                                "column": 37
                                                              }
                                                            },
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "start": 585,
                                                              "end": 592,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 18,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 18,
                                                                  "column": 27
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "ThisExpression",
                                                                "start": 585,
                                                                "end": 589,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 18,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 18,
                                                                    "column": 24
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 590,
                                                                "end": 592,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 18,
                                                                    "column": 25
                                                                  },
                                                                  "end": {
                                                                    "line": 18,
                                                                    "column": 27
                                                                  },
                                                                  "identifierName": "id"
                                                                },
                                                                "name": "id"
                                                              },
                                                              "computed": false
                                                            },
                                                            "right": {
                                                              "type": "MemberExpression",
                                                              "start": 595,
                                                              "end": 602,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 18,
                                                                  "column": 30
                                                                },
                                                                "end": {
                                                                  "line": 18,
                                                                  "column": 37
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "Identifier",
                                                                "start": 595,
                                                                "end": 599,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 18,
                                                                    "column": 30
                                                                  },
                                                                  "end": {
                                                                    "line": 18,
                                                                    "column": 34
                                                                  },
                                                                  "identifierName": "data"
                                                                },
                                                                "name": "data"
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 600,
                                                                "end": 602,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 18,
                                                                    "column": 35
                                                                  },
                                                                  "end": {
                                                                    "line": 18,
                                                                    "column": 37
                                                                  },
                                                                  "identifierName": "id"
                                                                },
                                                                "name": "id"
                                                              },
                                                              "computed": false
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 624,
                                                          "end": 659,
                                                          "loc": {
                                                            "start": {
                                                              "line": 19,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 19,
                                                              "column": 55
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "CallExpression",
                                                            "start": 624,
                                                            "end": 658,
                                                            "loc": {
                                                              "start": {
                                                                "line": 19,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 19,
                                                                "column": 54
                                                              }
                                                            },
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "start": 624,
                                                              "end": 633,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 19,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 19,
                                                                  "column": 29
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "ThisExpression",
                                                                "start": 624,
                                                                "end": 628,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 24
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 629,
                                                                "end": 633,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 25
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 29
                                                                  },
                                                                  "identifierName": "emit"
                                                                },
                                                                "name": "emit"
                                                              },
                                                              "computed": false
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "StringLiteral",
                                                                "start": 634,
                                                                "end": 645,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 30
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 41
                                                                  }
                                                                },
                                                                "extra": {
                                                                  "rawValue": "connected",
                                                                  "raw": "'connected'"
                                                                },
                                                                "value": "connected"
                                                              },
                                                              {
                                                                "type": "ThisExpression",
                                                                "start": 647,
                                                                "end": 651,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 43
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 47
                                                                  }
                                                                }
                                                              },
                                                              {
                                                                "type": "Identifier",
                                                                "start": 653,
                                                                "end": 657,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 49
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 53
                                                                  },
                                                                  "identifierName": "data"
                                                                },
                                                                "name": "data"
                                                              }
                                                            ]
                                                          }
                                                        },
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 680,
                                                          "end": 694,
                                                          "loc": {
                                                            "start": {
                                                              "line": 20,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 20,
                                                              "column": 34
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "CallExpression",
                                                            "start": 680,
                                                            "end": 693,
                                                            "loc": {
                                                              "start": {
                                                                "line": 20,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 20,
                                                                "column": 33
                                                              }
                                                            },
                                                            "callee": {
                                                              "type": "Identifier",
                                                              "start": 680,
                                                              "end": 687,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 20,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 20,
                                                                  "column": 27
                                                                },
                                                                "identifierName": "resolve"
                                                              },
                                                              "name": "resolve"
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "ThisExpression",
                                                                "start": 688,
                                                                "end": 692,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 20,
                                                                    "column": 28
                                                                  },
                                                                  "end": {
                                                                    "line": 20,
                                                                    "column": 32
                                                                  }
                                                                }
                                                              }
                                                            ]
                                                          }
                                                        }
                                                      ],
                                                      "directives": []
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 731,
                                              "end": 781,
                                              "loc": {
                                                "start": {
                                                  "line": 22,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 22,
                                                  "column": 66
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 731,
                                                "end": 780,
                                                "loc": {
                                                  "start": {
                                                    "line": 22,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 22,
                                                    "column": 65
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 731,
                                                  "end": 747,
                                                  "loc": {
                                                    "start": {
                                                      "line": 22,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 22,
                                                      "column": 32
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 731,
                                                    "end": 742,
                                                    "loc": {
                                                      "start": {
                                                        "line": 22,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 22,
                                                        "column": 27
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 731,
                                                      "end": 735,
                                                      "loc": {
                                                        "start": {
                                                          "line": 22,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 22,
                                                          "column": 20
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 736,
                                                      "end": 742,
                                                      "loc": {
                                                        "start": {
                                                          "line": 22,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 22,
                                                          "column": 27
                                                        },
                                                        "identifierName": "socket"
                                                      },
                                                      "name": "socket"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 743,
                                                    "end": 747,
                                                    "loc": {
                                                      "start": {
                                                        "line": 22,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 22,
                                                        "column": 32
                                                      },
                                                      "identifierName": "emit"
                                                    },
                                                    "name": "emit"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "StringLiteral",
                                                    "start": 748,
                                                    "end": 754,
                                                    "loc": {
                                                      "start": {
                                                        "line": 22,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 22,
                                                        "column": 39
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": "init",
                                                      "raw": "'init'"
                                                    },
                                                    "value": "init"
                                                  },
                                                  {
                                                    "type": "LogicalExpression",
                                                    "start": 756,
                                                    "end": 779,
                                                    "loc": {
                                                      "start": {
                                                        "line": 22,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 22,
                                                        "column": 64
                                                      }
                                                    },
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 756,
                                                      "end": 763,
                                                      "loc": {
                                                        "start": {
                                                          "line": 22,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 22,
                                                          "column": 48
                                                        },
                                                        "identifierName": "options"
                                                      },
                                                      "name": "options"
                                                    },
                                                    "operator": "||",
                                                    "right": {
                                                      "type": "MemberExpression",
                                                      "start": 767,
                                                      "end": 779,
                                                      "loc": {
                                                        "start": {
                                                          "line": 22,
                                                          "column": 52
                                                        },
                                                        "end": {
                                                          "line": 22,
                                                          "column": 64
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 767,
                                                        "end": 771,
                                                        "loc": {
                                                          "start": {
                                                            "line": 22,
                                                            "column": 52
                                                          },
                                                          "end": {
                                                            "line": 22,
                                                            "column": 56
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 772,
                                                        "end": 779,
                                                        "loc": {
                                                          "start": {
                                                            "line": 22,
                                                            "column": 57
                                                          },
                                                          "end": {
                                                            "line": 22,
                                                            "column": 64
                                                          },
                                                          "identifierName": "options"
                                                        },
                                                        "name": "options"
                                                      },
                                                      "computed": false
                                                    }
                                                  }
                                                ]
                                              }
                                            }
                                          ],
                                          "directives": []
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 811,
                                  "end": 946,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 811,
                                    "end": 945,
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 28,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 811,
                                      "end": 825,
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 811,
                                        "end": 822,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 811,
                                          "end": 815,
                                          "loc": {
                                            "start": {
                                              "line": 25,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 25,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 816,
                                          "end": 822,
                                          "loc": {
                                            "start": {
                                              "line": 25,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 25,
                                              "column": 23
                                            },
                                            "identifierName": "socket"
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 823,
                                        "end": 825,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 26
                                          },
                                          "identifierName": "on"
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 826,
                                        "end": 841,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 42
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "connect_error",
                                          "raw": "'connect_error'"
                                        },
                                        "value": "connect_error"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 843,
                                        "end": 944,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 843,
                                            "end": 849,
                                            "loc": {
                                              "start": {
                                                "line": 25,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 25,
                                                "column": 50
                                              },
                                              "identifierName": "reason"
                                            },
                                            "name": "reason"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 853,
                                          "end": 944,
                                          "loc": {
                                            "start": {
                                              "line": 25,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 871,
                                              "end": 898,
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 43
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 871,
                                                "end": 897,
                                                "loc": {
                                                  "start": {
                                                    "line": 26,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 26,
                                                    "column": 42
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 871,
                                                  "end": 880,
                                                  "loc": {
                                                    "start": {
                                                      "line": 26,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 26,
                                                      "column": 25
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 871,
                                                    "end": 875,
                                                    "loc": {
                                                      "start": {
                                                        "line": 26,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 26,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 876,
                                                    "end": 880,
                                                    "loc": {
                                                      "start": {
                                                        "line": 26,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 26,
                                                        "column": 25
                                                      },
                                                      "identifierName": "emit"
                                                    },
                                                    "name": "emit"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "StringLiteral",
                                                    "start": 881,
                                                    "end": 888,
                                                    "loc": {
                                                      "start": {
                                                        "line": 26,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 26,
                                                        "column": 33
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": "error",
                                                      "raw": "'error'"
                                                    },
                                                    "value": "error"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 890,
                                                    "end": 896,
                                                    "loc": {
                                                      "start": {
                                                        "line": 26,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 26,
                                                        "column": 41
                                                      },
                                                      "identifierName": "reason"
                                                    },
                                                    "name": "reason"
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 915,
                                              "end": 930,
                                              "loc": {
                                                "start": {
                                                  "line": 27,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 27,
                                                  "column": 31
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 915,
                                                "end": 929,
                                                "loc": {
                                                  "start": {
                                                    "line": 27,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 27,
                                                    "column": 30
                                                  }
                                                },
                                                "callee": {
                                                  "type": "Identifier",
                                                  "start": 915,
                                                  "end": 921,
                                                  "loc": {
                                                    "start": {
                                                      "line": 27,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 27,
                                                      "column": 22
                                                    },
                                                    "identifierName": "reject"
                                                  },
                                                  "name": "reject"
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 922,
                                                    "end": 928,
                                                    "loc": {
                                                      "start": {
                                                        "line": 27,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 27,
                                                        "column": 29
                                                      },
                                                      "identifierName": "reason"
                                                    },
                                                    "name": "reason"
                                                  }
                                                ]
                                              }
                                            }
                                          ],
                                          "directives": []
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 960,
                                  "end": 1097,
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 960,
                                    "end": 1096,
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 960,
                                      "end": 974,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 960,
                                        "end": 971,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 960,
                                          "end": 964,
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 965,
                                          "end": 971,
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 23
                                            },
                                            "identifierName": "socket"
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 972,
                                        "end": 974,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 26
                                          },
                                          "identifierName": "on"
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 975,
                                        "end": 992,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 44
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "connect_timeout",
                                          "raw": "'connect_timeout'"
                                        },
                                        "value": "connect_timeout"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 994,
                                        "end": 1095,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 994,
                                            "end": 1000,
                                            "loc": {
                                              "start": {
                                                "line": 30,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 30,
                                                "column": 52
                                              },
                                              "identifierName": "reason"
                                            },
                                            "name": "reason"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 1004,
                                          "end": 1095,
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 56
                                            },
                                            "end": {
                                              "line": 33,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 1022,
                                              "end": 1049,
                                              "loc": {
                                                "start": {
                                                  "line": 31,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 31,
                                                  "column": 43
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 1022,
                                                "end": 1048,
                                                "loc": {
                                                  "start": {
                                                    "line": 31,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 31,
                                                    "column": 42
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 1022,
                                                  "end": 1031,
                                                  "loc": {
                                                    "start": {
                                                      "line": 31,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 31,
                                                      "column": 25
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 1022,
                                                    "end": 1026,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1027,
                                                    "end": 1031,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 25
                                                      },
                                                      "identifierName": "emit"
                                                    },
                                                    "name": "emit"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "StringLiteral",
                                                    "start": 1032,
                                                    "end": 1039,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 33
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": "error",
                                                      "raw": "'error'"
                                                    },
                                                    "value": "error"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 1041,
                                                    "end": 1047,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 41
                                                      },
                                                      "identifierName": "reason"
                                                    },
                                                    "name": "reason"
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 1066,
                                              "end": 1081,
                                              "loc": {
                                                "start": {
                                                  "line": 32,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 32,
                                                  "column": 31
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 1066,
                                                "end": 1080,
                                                "loc": {
                                                  "start": {
                                                    "line": 32,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 32,
                                                    "column": 30
                                                  }
                                                },
                                                "callee": {
                                                  "type": "Identifier",
                                                  "start": 1066,
                                                  "end": 1072,
                                                  "loc": {
                                                    "start": {
                                                      "line": 32,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 32,
                                                      "column": 22
                                                    },
                                                    "identifierName": "reject"
                                                  },
                                                  "name": "reject"
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 1073,
                                                    "end": 1079,
                                                    "loc": {
                                                      "start": {
                                                        "line": 32,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 32,
                                                        "column": 29
                                                      },
                                                      "identifierName": "reason"
                                                    },
                                                    "name": "reason"
                                                  }
                                                ]
                                              }
                                            }
                                          ],
                                          "directives": []
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 1111,
                                  "end": 1135,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 36
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 1115,
                                      "end": 1134,
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 35
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 1115,
                                        "end": 1122,
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 23
                                          },
                                          "identifierName": "current"
                                        },
                                        "name": "current"
                                      },
                                      "init": {
                                        "type": "Identifier",
                                        "start": 1125,
                                        "end": 1134,
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 35
                                          },
                                          "identifierName": "undefined"
                                        },
                                        "name": "undefined"
                                      }
                                    }
                                  ],
                                  "kind": "let"
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1148,
                                  "end": 1365,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 1148,
                                    "end": 1364,
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 41,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 1148,
                                      "end": 1162,
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1148,
                                        "end": 1159,
                                        "loc": {
                                          "start": {
                                            "line": 36,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 36,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1148,
                                          "end": 1152,
                                          "loc": {
                                            "start": {
                                              "line": 36,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 36,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1153,
                                          "end": 1159,
                                          "loc": {
                                            "start": {
                                              "line": 36,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 36,
                                              "column": 23
                                            },
                                            "identifierName": "socket"
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1160,
                                        "end": 1162,
                                        "loc": {
                                          "start": {
                                            "line": 36,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 36,
                                            "column": 26
                                          },
                                          "identifierName": "on"
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 1163,
                                        "end": 1171,
                                        "loc": {
                                          "start": {
                                            "line": 36,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 36,
                                            "column": 35
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "binary",
                                          "raw": "'binary'"
                                        },
                                        "value": "binary"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 1173,
                                        "end": 1363,
                                        "loc": {
                                          "start": {
                                            "line": 36,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 41,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 1174,
                                            "end": 1178,
                                            "loc": {
                                              "start": {
                                                "line": 36,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 36,
                                                "column": 42
                                              },
                                              "identifierName": "data"
                                            },
                                            "name": "data"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 1180,
                                            "end": 1185,
                                            "loc": {
                                              "start": {
                                                "line": 36,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 36,
                                                "column": 49
                                              },
                                              "identifierName": "flags"
                                            },
                                            "name": "flags"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 1190,
                                          "end": 1363,
                                          "loc": {
                                            "start": {
                                              "line": 36,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 41,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 1208,
                                              "end": 1235,
                                              "loc": {
                                                "start": {
                                                  "line": 37,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 37,
                                                  "column": 43
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 1208,
                                                "end": 1234,
                                                "loc": {
                                                  "start": {
                                                    "line": 37,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 37,
                                                    "column": 42
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 1208,
                                                  "end": 1221,
                                                  "loc": {
                                                    "start": {
                                                      "line": 37,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 37,
                                                      "column": 29
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 1208,
                                                    "end": 1216,
                                                    "loc": {
                                                      "start": {
                                                        "line": 37,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 37,
                                                        "column": 24
                                                      },
                                                      "identifierName": "SocketIO"
                                                    },
                                                    "name": "SocketIO"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1217,
                                                    "end": 1221,
                                                    "loc": {
                                                      "start": {
                                                        "line": 37,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 37,
                                                        "column": 29
                                                      },
                                                      "identifierName": "_ack"
                                                    },
                                                    "name": "_ack"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 1222,
                                                    "end": 1233,
                                                    "loc": {
                                                      "start": {
                                                        "line": 37,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 37,
                                                        "column": 41
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 1222,
                                                      "end": 1226,
                                                      "loc": {
                                                        "start": {
                                                          "line": 37,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 37,
                                                          "column": 34
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1227,
                                                      "end": 1233,
                                                      "loc": {
                                                        "start": {
                                                          "line": 37,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 37,
                                                          "column": 41
                                                        },
                                                        "identifierName": "socket"
                                                      },
                                                      "name": "socket"
                                                    },
                                                    "computed": false
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 1252,
                                              "end": 1349,
                                              "loc": {
                                                "start": {
                                                  "line": 38,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 40,
                                                  "column": 17
                                                }
                                              },
                                              "test": {
                                                "type": "Identifier",
                                                "start": 1256,
                                                "end": 1263,
                                                "loc": {
                                                  "start": {
                                                    "line": 38,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 38,
                                                    "column": 27
                                                  },
                                                  "identifierName": "current"
                                                },
                                                "name": "current"
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "start": 1265,
                                                "end": 1349,
                                                "loc": {
                                                  "start": {
                                                    "line": 38,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 40,
                                                    "column": 17
                                                  }
                                                },
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 1287,
                                                    "end": 1331,
                                                    "loc": {
                                                      "start": {
                                                        "line": 39,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 39,
                                                        "column": 64
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "start": 1287,
                                                      "end": 1330,
                                                      "loc": {
                                                        "start": {
                                                          "line": 39,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 39,
                                                          "column": 63
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "Identifier",
                                                        "start": 1287,
                                                        "end": 1299,
                                                        "loc": {
                                                          "start": {
                                                            "line": 39,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 39,
                                                            "column": 32
                                                          },
                                                          "identifierName": "handleResult"
                                                        },
                                                        "name": "handleResult"
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "start": 1300,
                                                          "end": 1307,
                                                          "loc": {
                                                            "start": {
                                                              "line": 39,
                                                              "column": 33
                                                            },
                                                            "end": {
                                                              "line": 39,
                                                              "column": 40
                                                            },
                                                            "identifierName": "current"
                                                          },
                                                          "name": "current"
                                                        },
                                                        {
                                                          "type": "NewExpression",
                                                          "start": 1309,
                                                          "end": 1329,
                                                          "loc": {
                                                            "start": {
                                                              "line": 39,
                                                              "column": 42
                                                            },
                                                            "end": {
                                                              "line": 39,
                                                              "column": 62
                                                            }
                                                          },
                                                          "callee": {
                                                            "type": "Identifier",
                                                            "start": 1313,
                                                            "end": 1323,
                                                            "loc": {
                                                              "start": {
                                                                "line": 39,
                                                                "column": 46
                                                              },
                                                              "end": {
                                                                "line": 39,
                                                                "column": 56
                                                              },
                                                              "identifierName": "Uint8Array"
                                                            },
                                                            "name": "Uint8Array"
                                                          },
                                                          "arguments": [
                                                            {
                                                              "type": "Identifier",
                                                              "start": 1324,
                                                              "end": 1328,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 39,
                                                                  "column": 57
                                                                },
                                                                "end": {
                                                                  "line": 39,
                                                                  "column": 61
                                                                },
                                                                "identifierName": "data"
                                                              },
                                                              "name": "data"
                                                            }
                                                          ]
                                                        }
                                                      ]
                                                    }
                                                  }
                                                ],
                                                "directives": []
                                              },
                                              "alternate": null
                                            }
                                          ],
                                          "directives": []
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1379,
                                  "end": 1829,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 1379,
                                    "end": 1828,
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 51,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 1379,
                                      "end": 1393,
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1379,
                                        "end": 1390,
                                        "loc": {
                                          "start": {
                                            "line": 43,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 43,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1379,
                                          "end": 1383,
                                          "loc": {
                                            "start": {
                                              "line": 43,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 43,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1384,
                                          "end": 1390,
                                          "loc": {
                                            "start": {
                                              "line": 43,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 43,
                                              "column": 23
                                            },
                                            "identifierName": "socket"
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1391,
                                        "end": 1393,
                                        "loc": {
                                          "start": {
                                            "line": 43,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 43,
                                            "column": 26
                                          },
                                          "identifierName": "on"
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 1394,
                                        "end": 1400,
                                        "loc": {
                                          "start": {
                                            "line": 43,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 43,
                                            "column": 33
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "json",
                                          "raw": "'json'"
                                        },
                                        "value": "json"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 1402,
                                        "end": 1827,
                                        "loc": {
                                          "start": {
                                            "line": 43,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 1402,
                                            "end": 1406,
                                            "loc": {
                                              "start": {
                                                "line": 43,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 43,
                                                "column": 39
                                              },
                                              "identifierName": "data"
                                            },
                                            "name": "data"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 1410,
                                          "end": 1827,
                                          "loc": {
                                            "start": {
                                              "line": 43,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 51,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 1428,
                                              "end": 1455,
                                              "loc": {
                                                "start": {
                                                  "line": 44,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 44,
                                                  "column": 43
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 1428,
                                                "end": 1454,
                                                "loc": {
                                                  "start": {
                                                    "line": 44,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 44,
                                                    "column": 42
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 1428,
                                                  "end": 1441,
                                                  "loc": {
                                                    "start": {
                                                      "line": 44,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 44,
                                                      "column": 29
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 1428,
                                                    "end": 1436,
                                                    "loc": {
                                                      "start": {
                                                        "line": 44,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 44,
                                                        "column": 24
                                                      },
                                                      "identifierName": "SocketIO"
                                                    },
                                                    "name": "SocketIO"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1437,
                                                    "end": 1441,
                                                    "loc": {
                                                      "start": {
                                                        "line": 44,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 44,
                                                        "column": 29
                                                      },
                                                      "identifierName": "_ack"
                                                    },
                                                    "name": "_ack"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 1442,
                                                    "end": 1453,
                                                    "loc": {
                                                      "start": {
                                                        "line": 44,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 44,
                                                        "column": 41
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 1442,
                                                      "end": 1446,
                                                      "loc": {
                                                        "start": {
                                                          "line": 44,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 44,
                                                          "column": 34
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1447,
                                                      "end": 1453,
                                                      "loc": {
                                                        "start": {
                                                          "line": 44,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 44,
                                                          "column": 41
                                                        },
                                                        "identifierName": "socket"
                                                      },
                                                      "name": "socket"
                                                    },
                                                    "computed": false
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 1472,
                                              "end": 1549,
                                              "loc": {
                                                "start": {
                                                  "line": 45,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 45,
                                                  "column": 93
                                                }
                                              },
                                              "test": {
                                                "type": "BinaryExpression",
                                                "start": 1476,
                                                "end": 1502,
                                                "loc": {
                                                  "start": {
                                                    "line": 45,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 45,
                                                    "column": 46
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 1476,
                                                  "end": 1485,
                                                  "loc": {
                                                    "start": {
                                                      "line": 45,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 45,
                                                      "column": 29
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 1476,
                                                    "end": 1480,
                                                    "loc": {
                                                      "start": {
                                                        "line": 45,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 45,
                                                        "column": 24
                                                      },
                                                      "identifierName": "data"
                                                    },
                                                    "name": "data"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1481,
                                                    "end": 1485,
                                                    "loc": {
                                                      "start": {
                                                        "line": 45,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 45,
                                                        "column": 29
                                                      },
                                                      "identifierName": "from"
                                                    },
                                                    "name": "from"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "===",
                                                "right": {
                                                  "type": "StringLiteral",
                                                  "start": 1490,
                                                  "end": 1502,
                                                  "loc": {
                                                    "start": {
                                                      "line": 45,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 45,
                                                      "column": 46
                                                    }
                                                  },
                                                  "extra": {
                                                    "rawValue": "BeginFrame",
                                                    "raw": "'BeginFrame'"
                                                  },
                                                  "value": "BeginFrame"
                                                }
                                              },
                                              "consequent": {
                                                "type": "ExpressionStatement",
                                                "start": 1504,
                                                "end": 1549,
                                                "loc": {
                                                  "start": {
                                                    "line": 45,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 45,
                                                    "column": 93
                                                  }
                                                },
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "start": 1504,
                                                  "end": 1548,
                                                  "loc": {
                                                    "start": {
                                                      "line": 45,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 45,
                                                      "column": 92
                                                    }
                                                  },
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "Identifier",
                                                    "start": 1504,
                                                    "end": 1511,
                                                    "loc": {
                                                      "start": {
                                                        "line": 45,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 45,
                                                        "column": 55
                                                      },
                                                      "identifierName": "current"
                                                    },
                                                    "name": "current"
                                                  },
                                                  "right": {
                                                    "type": "CallExpression",
                                                    "start": 1514,
                                                    "end": 1548,
                                                    "loc": {
                                                      "start": {
                                                        "line": 45,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 45,
                                                        "column": 92
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 1514,
                                                      "end": 1528,
                                                      "loc": {
                                                        "start": {
                                                          "line": 45,
                                                          "column": 58
                                                        },
                                                        "end": {
                                                          "line": 45,
                                                          "column": 72
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 1514,
                                                        "end": 1524,
                                                        "loc": {
                                                          "start": {
                                                            "line": 45,
                                                            "column": 58
                                                          },
                                                          "end": {
                                                            "line": 45,
                                                            "column": 68
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "start": 1514,
                                                          "end": 1518,
                                                          "loc": {
                                                            "start": {
                                                              "line": 45,
                                                              "column": 58
                                                            },
                                                            "end": {
                                                              "line": 45,
                                                              "column": 62
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 1519,
                                                          "end": 1524,
                                                          "loc": {
                                                            "start": {
                                                              "line": 45,
                                                              "column": 63
                                                            },
                                                            "end": {
                                                              "line": 45,
                                                              "column": 68
                                                            },
                                                            "identifierName": "tasks"
                                                          },
                                                          "name": "tasks"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 1525,
                                                        "end": 1528,
                                                        "loc": {
                                                          "start": {
                                                            "line": 45,
                                                            "column": 69
                                                          },
                                                          "end": {
                                                            "line": 45,
                                                            "column": 72
                                                          },
                                                          "identifierName": "get"
                                                        },
                                                        "name": "get"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "MemberExpression",
                                                        "start": 1529,
                                                        "end": 1547,
                                                        "loc": {
                                                          "start": {
                                                            "line": 45,
                                                            "column": 73
                                                          },
                                                          "end": {
                                                            "line": 45,
                                                            "column": 91
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 1529,
                                                          "end": 1533,
                                                          "loc": {
                                                            "start": {
                                                              "line": 45,
                                                              "column": 73
                                                            },
                                                            "end": {
                                                              "line": 45,
                                                              "column": 77
                                                            },
                                                            "identifierName": "data"
                                                          },
                                                          "name": "data"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 1534,
                                                          "end": 1547,
                                                          "loc": {
                                                            "start": {
                                                              "line": 45,
                                                              "column": 78
                                                            },
                                                            "end": {
                                                              "line": 45,
                                                              "column": 91
                                                            },
                                                            "identifierName": "transactionID"
                                                          },
                                                          "name": "transactionID"
                                                        },
                                                        "computed": false
                                                      }
                                                    ]
                                                  }
                                                }
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 1566,
                                              "end": 1607,
                                              "loc": {
                                                "start": {
                                                  "line": 46,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 46,
                                                  "column": 57
                                                }
                                              },
                                              "test": {
                                                "type": "Identifier",
                                                "start": 1570,
                                                "end": 1577,
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 27
                                                  },
                                                  "identifierName": "current"
                                                },
                                                "name": "current"
                                              },
                                              "consequent": {
                                                "type": "ExpressionStatement",
                                                "start": 1579,
                                                "end": 1607,
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 57
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 1579,
                                                  "end": 1606,
                                                  "loc": {
                                                    "start": {
                                                      "line": 46,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 46,
                                                      "column": 56
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "Identifier",
                                                    "start": 1579,
                                                    "end": 1591,
                                                    "loc": {
                                                      "start": {
                                                        "line": 46,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 46,
                                                        "column": 41
                                                      },
                                                      "identifierName": "handleResult"
                                                    },
                                                    "name": "handleResult"
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 1592,
                                                      "end": 1599,
                                                      "loc": {
                                                        "start": {
                                                          "line": 46,
                                                          "column": 42
                                                        },
                                                        "end": {
                                                          "line": 46,
                                                          "column": 49
                                                        },
                                                        "identifierName": "current"
                                                      },
                                                      "name": "current"
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 1601,
                                                      "end": 1605,
                                                      "loc": {
                                                        "start": {
                                                          "line": 46,
                                                          "column": 51
                                                        },
                                                        "end": {
                                                          "line": 46,
                                                          "column": 55
                                                        },
                                                        "identifierName": "data"
                                                      },
                                                      "name": "data"
                                                    }
                                                  ]
                                                }
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 1624,
                                              "end": 1813,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 50,
                                                  "column": 17
                                                }
                                              },
                                              "test": {
                                                "type": "LogicalExpression",
                                                "start": 1628,
                                                "end": 1700,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 92
                                                  }
                                                },
                                                "left": {
                                                  "type": "LogicalExpression",
                                                  "start": 1628,
                                                  "end": 1663,
                                                  "loc": {
                                                    "start": {
                                                      "line": 47,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 47,
                                                      "column": 55
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "Identifier",
                                                    "start": 1628,
                                                    "end": 1635,
                                                    "loc": {
                                                      "start": {
                                                        "line": 47,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 47,
                                                        "column": 27
                                                      },
                                                      "identifierName": "current"
                                                    },
                                                    "name": "current"
                                                  },
                                                  "operator": "&&",
                                                  "right": {
                                                    "type": "BinaryExpression",
                                                    "start": 1639,
                                                    "end": 1663,
                                                    "loc": {
                                                      "start": {
                                                        "line": 47,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 47,
                                                        "column": 55
                                                      }
                                                    },
                                                    "left": {
                                                      "type": "MemberExpression",
                                                      "start": 1639,
                                                      "end": 1648,
                                                      "loc": {
                                                        "start": {
                                                          "line": 47,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 47,
                                                          "column": 40
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 1639,
                                                        "end": 1643,
                                                        "loc": {
                                                          "start": {
                                                            "line": 47,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 47,
                                                            "column": 35
                                                          },
                                                          "identifierName": "data"
                                                        },
                                                        "name": "data"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 1644,
                                                        "end": 1648,
                                                        "loc": {
                                                          "start": {
                                                            "line": 47,
                                                            "column": 36
                                                          },
                                                          "end": {
                                                            "line": 47,
                                                            "column": 40
                                                          },
                                                          "identifierName": "from"
                                                        },
                                                        "name": "from"
                                                      },
                                                      "computed": false
                                                    },
                                                    "operator": "===",
                                                    "right": {
                                                      "type": "StringLiteral",
                                                      "start": 1653,
                                                      "end": 1663,
                                                      "loc": {
                                                        "start": {
                                                          "line": 47,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 47,
                                                          "column": 55
                                                        }
                                                      },
                                                      "extra": {
                                                        "rawValue": "EndFrame",
                                                        "raw": "'EndFrame'"
                                                      },
                                                      "value": "EndFrame"
                                                    }
                                                  }
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "BinaryExpression",
                                                  "start": 1667,
                                                  "end": 1700,
                                                  "loc": {
                                                    "start": {
                                                      "line": 47,
                                                      "column": 59
                                                    },
                                                    "end": {
                                                      "line": 47,
                                                      "column": 92
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 1667,
                                                    "end": 1685,
                                                    "loc": {
                                                      "start": {
                                                        "line": 47,
                                                        "column": 59
                                                      },
                                                      "end": {
                                                        "line": 47,
                                                        "column": 77
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 1667,
                                                      "end": 1671,
                                                      "loc": {
                                                        "start": {
                                                          "line": 47,
                                                          "column": 59
                                                        },
                                                        "end": {
                                                          "line": 47,
                                                          "column": 63
                                                        },
                                                        "identifierName": "data"
                                                      },
                                                      "name": "data"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1672,
                                                      "end": 1685,
                                                      "loc": {
                                                        "start": {
                                                          "line": 47,
                                                          "column": 64
                                                        },
                                                        "end": {
                                                          "line": 47,
                                                          "column": 77
                                                        },
                                                        "identifierName": "transactionID"
                                                      },
                                                      "name": "transactionID"
                                                    },
                                                    "computed": false
                                                  },
                                                  "operator": "===",
                                                  "right": {
                                                    "type": "MemberExpression",
                                                    "start": 1690,
                                                    "end": 1700,
                                                    "loc": {
                                                      "start": {
                                                        "line": 47,
                                                        "column": 82
                                                      },
                                                      "end": {
                                                        "line": 47,
                                                        "column": 92
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 1690,
                                                      "end": 1697,
                                                      "loc": {
                                                        "start": {
                                                          "line": 47,
                                                          "column": 82
                                                        },
                                                        "end": {
                                                          "line": 47,
                                                          "column": 89
                                                        },
                                                        "identifierName": "current"
                                                      },
                                                      "name": "current"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1698,
                                                      "end": 1700,
                                                      "loc": {
                                                        "start": {
                                                          "line": 47,
                                                          "column": 90
                                                        },
                                                        "end": {
                                                          "line": 47,
                                                          "column": 92
                                                        },
                                                        "identifierName": "id"
                                                      },
                                                      "name": "id"
                                                    },
                                                    "computed": false
                                                  }
                                                }
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "start": 1702,
                                                "end": 1813,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 94
                                                  },
                                                  "end": {
                                                    "line": 50,
                                                    "column": 17
                                                  }
                                                },
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 1724,
                                                    "end": 1754,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 50
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "start": 1724,
                                                      "end": 1753,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 49
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 1724,
                                                        "end": 1741,
                                                        "loc": {
                                                          "start": {
                                                            "line": 48,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 48,
                                                            "column": 37
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "MemberExpression",
                                                          "start": 1724,
                                                          "end": 1734,
                                                          "loc": {
                                                            "start": {
                                                              "line": 48,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 48,
                                                              "column": 30
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "ThisExpression",
                                                            "start": 1724,
                                                            "end": 1728,
                                                            "loc": {
                                                              "start": {
                                                                "line": 48,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 48,
                                                                "column": 24
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 1729,
                                                            "end": 1734,
                                                            "loc": {
                                                              "start": {
                                                                "line": 48,
                                                                "column": 25
                                                              },
                                                              "end": {
                                                                "line": 48,
                                                                "column": 30
                                                              },
                                                              "identifierName": "tasks"
                                                            },
                                                            "name": "tasks"
                                                          },
                                                          "computed": false
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 1735,
                                                          "end": 1741,
                                                          "loc": {
                                                            "start": {
                                                              "line": 48,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 48,
                                                              "column": 37
                                                            },
                                                            "identifierName": "delete"
                                                          },
                                                          "name": "delete"
                                                        },
                                                        "computed": false
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "MemberExpression",
                                                          "start": 1742,
                                                          "end": 1752,
                                                          "loc": {
                                                            "start": {
                                                              "line": 48,
                                                              "column": 38
                                                            },
                                                            "end": {
                                                              "line": 48,
                                                              "column": 48
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 1742,
                                                            "end": 1749,
                                                            "loc": {
                                                              "start": {
                                                                "line": 48,
                                                                "column": 38
                                                              },
                                                              "end": {
                                                                "line": 48,
                                                                "column": 45
                                                              },
                                                              "identifierName": "current"
                                                            },
                                                            "name": "current"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 1750,
                                                            "end": 1752,
                                                            "loc": {
                                                              "start": {
                                                                "line": 48,
                                                                "column": 46
                                                              },
                                                              "end": {
                                                                "line": 48,
                                                                "column": 48
                                                              },
                                                              "identifierName": "id"
                                                            },
                                                            "name": "id"
                                                          },
                                                          "computed": false
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 1775,
                                                    "end": 1795,
                                                    "loc": {
                                                      "start": {
                                                        "line": 49,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 49,
                                                        "column": 40
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "AssignmentExpression",
                                                      "start": 1775,
                                                      "end": 1794,
                                                      "loc": {
                                                        "start": {
                                                          "line": 49,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 49,
                                                          "column": 39
                                                        }
                                                      },
                                                      "operator": "=",
                                                      "left": {
                                                        "type": "Identifier",
                                                        "start": 1775,
                                                        "end": 1782,
                                                        "loc": {
                                                          "start": {
                                                            "line": 49,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 49,
                                                            "column": 27
                                                          },
                                                          "identifierName": "current"
                                                        },
                                                        "name": "current"
                                                      },
                                                      "right": {
                                                        "type": "Identifier",
                                                        "start": 1785,
                                                        "end": 1794,
                                                        "loc": {
                                                          "start": {
                                                            "line": 49,
                                                            "column": 30
                                                          },
                                                          "end": {
                                                            "line": 49,
                                                            "column": 39
                                                          },
                                                          "identifierName": "undefined"
                                                        },
                                                        "name": "undefined"
                                                      }
                                                    }
                                                  }
                                                ],
                                                "directives": []
                                              },
                                              "alternate": null
                                            }
                                          ],
                                          "directives": []
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1843,
                                  "end": 1899,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 68
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 1843,
                                    "end": 1898,
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 67
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 1843,
                                      "end": 1857,
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1843,
                                        "end": 1854,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1843,
                                          "end": 1847,
                                          "loc": {
                                            "start": {
                                              "line": 53,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 53,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1848,
                                          "end": 1854,
                                          "loc": {
                                            "start": {
                                              "line": 53,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 53,
                                              "column": 23
                                            },
                                            "identifierName": "socket"
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1855,
                                        "end": 1857,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 26
                                          },
                                          "identifierName": "on"
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 1858,
                                        "end": 1864,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 33
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "undo",
                                          "raw": "'undo'"
                                        },
                                        "value": "undo"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 1866,
                                        "end": 1897,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 66
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": true,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 1866,
                                            "end": 1870,
                                            "loc": {
                                              "start": {
                                                "line": 53,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 53,
                                                "column": 39
                                              },
                                              "identifierName": "args"
                                            },
                                            "name": "args"
                                          }
                                        ],
                                        "body": {
                                          "type": "CallExpression",
                                          "start": 1874,
                                          "end": 1897,
                                          "loc": {
                                            "start": {
                                              "line": 53,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 53,
                                              "column": 66
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 1874,
                                            "end": 1883,
                                            "loc": {
                                              "start": {
                                                "line": 53,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 53,
                                                "column": 52
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 1874,
                                              "end": 1878,
                                              "loc": {
                                                "start": {
                                                  "line": 53,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 53,
                                                  "column": 47
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1879,
                                              "end": 1883,
                                              "loc": {
                                                "start": {
                                                  "line": 53,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 53,
                                                  "column": 52
                                                },
                                                "identifierName": "emit"
                                              },
                                              "name": "emit"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "StringLiteral",
                                              "start": 1884,
                                              "end": 1890,
                                              "loc": {
                                                "start": {
                                                  "line": 53,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 53,
                                                  "column": 59
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "undo",
                                                "raw": "'undo'"
                                              },
                                              "value": "undo"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 1892,
                                              "end": 1896,
                                              "loc": {
                                                "start": {
                                                  "line": 53,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 53,
                                                  "column": 65
                                                },
                                                "identifierName": "args"
                                              },
                                              "name": "args"
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1923,
                "end": 2083,
                "loc": {
                  "start": {
                    "line": 57,
                    "column": 4
                  },
                  "end": {
                    "line": 62,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1923,
                  "end": 1933,
                  "loc": {
                    "start": {
                      "line": 57,
                      "column": 4
                    },
                    "end": {
                      "line": 57,
                      "column": 14
                    },
                    "identifierName": "disconnect"
                  },
                  "name": "disconnect"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1936,
                  "end": 2083,
                  "loc": {
                    "start": {
                      "line": 57,
                      "column": 17
                    },
                    "end": {
                      "line": 62,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1946,
                      "end": 1971,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1946,
                        "end": 1970,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1946,
                          "end": 1968,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1946,
                            "end": 1957,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1946,
                              "end": 1950,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 8
                                },
                                "end": {
                                  "line": 58,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1951,
                              "end": 1957,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 13
                                },
                                "end": {
                                  "line": 58,
                                  "column": 19
                                },
                                "identifierName": "socket"
                              },
                              "name": "socket"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1958,
                            "end": 1968,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 20
                              },
                              "end": {
                                "line": 58,
                                "column": 30
                              },
                              "identifierName": "disconnect"
                            },
                            "name": "disconnect"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1980,
                      "end": 2004,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 59,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1980,
                        "end": 2003,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 8
                          },
                          "end": {
                            "line": 59,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1980,
                          "end": 1991,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1980,
                            "end": 1984,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 8
                              },
                              "end": {
                                "line": 59,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1985,
                            "end": 1991,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 13
                              },
                              "end": {
                                "line": 59,
                                "column": 19
                              },
                              "identifierName": "socket"
                            },
                            "name": "socket"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1994,
                          "end": 2003,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 22
                            },
                            "end": {
                              "line": 59,
                              "column": 31
                            },
                            "identifierName": "undefined"
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2013,
                      "end": 2036,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2013,
                        "end": 2035,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2013,
                          "end": 2023,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2013,
                            "end": 2017,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 8
                              },
                              "end": {
                                "line": 60,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2018,
                            "end": 2023,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 13
                              },
                              "end": {
                                "line": 60,
                                "column": 18
                              },
                              "identifierName": "tasks"
                            },
                            "name": "tasks"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 2026,
                          "end": 2035,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 21
                            },
                            "end": {
                              "line": 60,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2030,
                            "end": 2033,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 25
                              },
                              "end": {
                                "line": 60,
                                "column": 28
                              },
                              "identifierName": "Map"
                            },
                            "name": "Map"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2045,
                      "end": 2077,
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 8
                        },
                        "end": {
                          "line": 61,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2045,
                        "end": 2076,
                        "loc": {
                          "start": {
                            "line": 61,
                            "column": 8
                          },
                          "end": {
                            "line": 61,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2045,
                          "end": 2054,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 8
                            },
                            "end": {
                              "line": 61,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2045,
                            "end": 2049,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 8
                              },
                              "end": {
                                "line": 61,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2050,
                            "end": 2054,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 13
                              },
                              "end": {
                                "line": 61,
                                "column": 17
                              },
                              "identifierName": "emit"
                            },
                            "name": "emit"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 2055,
                            "end": 2069,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 18
                              },
                              "end": {
                                "line": 61,
                                "column": 32
                              }
                            },
                            "extra": {
                              "rawValue": "disconnected",
                              "raw": "'disconnected'"
                            },
                            "value": "disconnected"
                          },
                          {
                            "type": "ThisExpression",
                            "start": 2071,
                            "end": 2075,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 34
                              },
                              "end": {
                                "line": 61,
                                "column": 38
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2089,
                "end": 2630,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 4
                  },
                  "end": {
                    "line": 74,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2089,
                  "end": 2102,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 4
                    },
                    "end": {
                      "line": 64,
                      "column": 17
                    },
                    "identifierName": "requestByName"
                  },
                  "name": "requestByName"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2103,
                    "end": 2107,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 18
                      },
                      "end": {
                        "line": 64,
                        "column": 22
                      },
                      "identifierName": "name"
                    },
                    "name": "name"
                  },
                  {
                    "type": "Identifier",
                    "start": 2109,
                    "end": 2116,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 24
                      },
                      "end": {
                        "line": 64,
                        "column": 31
                      },
                      "identifierName": "command"
                    },
                    "name": "command"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 2118,
                    "end": 2130,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 33
                      },
                      "end": {
                        "line": 64,
                        "column": 45
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2118,
                      "end": 2125,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 33
                        },
                        "end": {
                          "line": 64,
                          "column": 40
                        },
                        "identifierName": "factory"
                      },
                      "name": "factory"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 2128,
                      "end": 2130,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 43
                        },
                        "end": {
                          "line": 64,
                          "column": 45
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2132,
                  "end": 2630,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 47
                    },
                    "end": {
                      "line": 74,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2142,
                      "end": 2624,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2149,
                        "end": 2623,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 15
                          },
                          "end": {
                            "line": 73,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2149,
                          "end": 2480,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 15
                            },
                            "end": {
                              "line": 70,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "NewExpression",
                            "start": 2149,
                            "end": 2475,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 15
                              },
                              "end": {
                                "line": 70,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2153,
                              "end": 2160,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 19
                                },
                                "end": {
                                  "line": 65,
                                  "column": 26
                                },
                                "identifierName": "Promise"
                              },
                              "name": "Promise"
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 2161,
                                "end": 2474,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 2162,
                                    "end": 2169,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 35
                                      },
                                      "identifierName": "resolve"
                                    },
                                    "name": "resolve"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 2171,
                                    "end": 2177,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 43
                                      },
                                      "identifierName": "reject"
                                    },
                                    "name": "reject"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2182,
                                  "end": 2474,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 2196,
                                      "end": 2259,
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 75
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 2200,
                                          "end": 2258,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 74
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 2200,
                                            "end": 2207,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 23
                                              },
                                              "identifierName": "context"
                                            },
                                            "name": "context"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 2210,
                                            "end": 2258,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 74
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 2210,
                                              "end": 2223,
                                              "loc": {
                                                "start": {
                                                  "line": 66,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 66,
                                                  "column": 39
                                                },
                                                "identifierName": "createContext"
                                              },
                                              "name": "createContext"
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 2224,
                                                "end": 2231,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 47
                                                  },
                                                  "identifierName": "factory"
                                                },
                                                "name": "factory"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 2233,
                                                "end": 2240,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 56
                                                  },
                                                  "identifierName": "resolve"
                                                },
                                                "name": "resolve"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 2242,
                                                "end": 2248,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 64
                                                  },
                                                  "identifierName": "reject"
                                                },
                                                "name": "reject"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 2250,
                                                "end": 2257,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 66
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 73
                                                  },
                                                  "identifierName": "command"
                                                },
                                                "name": "command"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "let"
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2272,
                                      "end": 2340,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 80
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2272,
                                        "end": 2339,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 79
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2272,
                                          "end": 2296,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 36
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2272,
                                            "end": 2287,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 27
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2272,
                                              "end": 2279,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 19
                                                },
                                                "identifierName": "context"
                                              },
                                              "name": "context"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2280,
                                              "end": 2287,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 27
                                                },
                                                "identifierName": "options"
                                              },
                                              "name": "options"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2288,
                                            "end": 2296,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 36
                                              },
                                              "identifierName": "callback"
                                            },
                                            "name": "callback"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ObjectExpression",
                                            "start": 2297,
                                            "end": 2338,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 78
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "ObjectProperty",
                                                "start": 2299,
                                                "end": 2327,
                                                "loc": {
                                                  "start": {
                                                    "line": 67,
                                                    "column": 39
                                                  },
                                                  "end": {
                                                    "line": 67,
                                                    "column": 67
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2299,
                                                  "end": 2303,
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 43
                                                    },
                                                    "identifierName": "type"
                                                  },
                                                  "name": "type"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 2305,
                                                  "end": 2327,
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 67
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 2305,
                                                    "end": 2319,
                                                    "loc": {
                                                      "start": {
                                                        "line": 67,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 67,
                                                        "column": 59
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 2305,
                                                      "end": 2311,
                                                      "loc": {
                                                        "start": {
                                                          "line": 67,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 67,
                                                          "column": 51
                                                        },
                                                        "identifierName": "Parser"
                                                      },
                                                      "name": "Parser"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 2312,
                                                      "end": 2319,
                                                      "loc": {
                                                        "start": {
                                                          "line": 67,
                                                          "column": 52
                                                        },
                                                        "end": {
                                                          "line": 67,
                                                          "column": 59
                                                        },
                                                        "identifierName": "Factory"
                                                      },
                                                      "name": "Factory"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2320,
                                                    "end": 2327,
                                                    "loc": {
                                                      "start": {
                                                        "line": 67,
                                                        "column": 60
                                                      },
                                                      "end": {
                                                        "line": 67,
                                                        "column": 67
                                                      },
                                                      "identifierName": "Started"
                                                    },
                                                    "name": "Started"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              {
                                                "type": "ObjectProperty",
                                                "start": 2329,
                                                "end": 2336,
                                                "loc": {
                                                  "start": {
                                                    "line": 67,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 67,
                                                    "column": 76
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": true,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2329,
                                                  "end": 2336,
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 76
                                                    },
                                                    "identifierName": "context"
                                                  },
                                                  "name": "context"
                                                },
                                                "value": {
                                                  "type": "Identifier",
                                                  "start": 2329,
                                                  "end": 2336,
                                                  "loc": {
                                                    "start": {
                                                      "line": 67,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 67,
                                                      "column": 76
                                                    },
                                                    "identifierName": "context"
                                                  },
                                                  "name": "context"
                                                },
                                                "extra": {
                                                  "shorthand": true
                                                }
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2353,
                                      "end": 2389,
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 48
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2353,
                                        "end": 2388,
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 47
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2353,
                                          "end": 2367,
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 26
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2353,
                                            "end": 2363,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 22
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 2353,
                                              "end": 2357,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2358,
                                              "end": 2363,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 22
                                                },
                                                "identifierName": "tasks"
                                              },
                                              "name": "tasks"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2364,
                                            "end": 2367,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 26
                                              },
                                              "identifierName": "set"
                                            },
                                            "name": "set"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 2368,
                                            "end": 2378,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2368,
                                              "end": 2375,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 34
                                                },
                                                "identifierName": "context"
                                              },
                                              "name": "context"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2376,
                                              "end": 2378,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 37
                                                },
                                                "identifierName": "id"
                                              },
                                              "name": "id"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 2380,
                                            "end": 2387,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 46
                                              },
                                              "identifierName": "context"
                                            },
                                            "name": "context"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2402,
                                      "end": 2464,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 74
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2402,
                                        "end": 2463,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 73
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2402,
                                          "end": 2418,
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 28
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2402,
                                            "end": 2413,
                                            "loc": {
                                              "start": {
                                                "line": 69,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 69,
                                                "column": 23
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 2402,
                                              "end": 2406,
                                              "loc": {
                                                "start": {
                                                  "line": 69,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 69,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2407,
                                              "end": 2413,
                                              "loc": {
                                                "start": {
                                                  "line": 69,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 69,
                                                  "column": 23
                                                },
                                                "identifierName": "socket"
                                              },
                                              "name": "socket"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2414,
                                            "end": 2418,
                                            "loc": {
                                              "start": {
                                                "line": 69,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 69,
                                                "column": 28
                                              },
                                              "identifierName": "emit"
                                            },
                                            "name": "emit"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 2419,
                                            "end": 2423,
                                            "loc": {
                                              "start": {
                                                "line": 69,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 69,
                                                "column": 33
                                              },
                                              "identifierName": "name"
                                            },
                                            "name": "name"
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "start": 2425,
                                            "end": 2435,
                                            "loc": {
                                              "start": {
                                                "line": 69,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 69,
                                                "column": 45
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2425,
                                              "end": 2432,
                                              "loc": {
                                                "start": {
                                                  "line": 69,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 69,
                                                  "column": 42
                                                },
                                                "identifierName": "context"
                                              },
                                              "name": "context"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2433,
                                              "end": 2435,
                                              "loc": {
                                                "start": {
                                                  "line": 69,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 69,
                                                  "column": 45
                                                },
                                                "identifierName": "id"
                                              },
                                              "name": "id"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 2437,
                                            "end": 2444,
                                            "loc": {
                                              "start": {
                                                "line": 69,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 69,
                                                "column": 54
                                              },
                                              "identifierName": "command"
                                            },
                                            "name": "command"
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "start": 2446,
                                            "end": 2462,
                                            "loc": {
                                              "start": {
                                                "line": 69,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 69,
                                                "column": 72
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2446,
                                              "end": 2453,
                                              "loc": {
                                                "start": {
                                                  "line": 69,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 69,
                                                  "column": 63
                                                },
                                                "identifierName": "factory"
                                              },
                                              "name": "factory"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2454,
                                              "end": 2462,
                                              "loc": {
                                                "start": {
                                                  "line": 69,
                                                  "column": 64
                                                },
                                                "end": {
                                                  "line": 69,
                                                  "column": 72
                                                },
                                                "identifierName": "classcad"
                                              },
                                              "name": "classcad"
                                            },
                                            "computed": false
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                }
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2476,
                            "end": 2480,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 11
                              },
                              "end": {
                                "line": 70,
                                "column": 15
                              },
                              "identifierName": "then"
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2481,
                            "end": 2622,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 16
                              },
                              "end": {
                                "line": 73,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 2481,
                                "end": 2488,
                                "loc": {
                                  "start": {
                                    "line": 70,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 70,
                                    "column": 23
                                  },
                                  "identifierName": "results"
                                },
                                "name": "results"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2492,
                              "end": 2622,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 27
                                },
                                "end": {
                                  "line": 73,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2506,
                                  "end": 2584,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 90
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 2506,
                                    "end": 2583,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 89
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2506,
                                      "end": 2530,
                                      "loc": {
                                        "start": {
                                          "line": 71,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 71,
                                          "column": 36
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2506,
                                        "end": 2521,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2506,
                                          "end": 2513,
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 19
                                            },
                                            "identifierName": "results"
                                          },
                                          "name": "results"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2514,
                                          "end": 2521,
                                          "loc": {
                                            "start": {
                                              "line": 71,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 71,
                                              "column": 27
                                            },
                                            "identifierName": "options"
                                          },
                                          "name": "options"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2522,
                                        "end": 2530,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 36
                                          },
                                          "identifierName": "callback"
                                        },
                                        "name": "callback"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ObjectExpression",
                                        "start": 2531,
                                        "end": 2582,
                                        "loc": {
                                          "start": {
                                            "line": 71,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 71,
                                            "column": 88
                                          }
                                        },
                                        "properties": [
                                          {
                                            "type": "ObjectProperty",
                                            "start": 2533,
                                            "end": 2562,
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 68
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2533,
                                              "end": 2537,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 43
                                                },
                                                "identifierName": "type"
                                              },
                                              "name": "type"
                                            },
                                            "value": {
                                              "type": "MemberExpression",
                                              "start": 2539,
                                              "end": 2562,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 68
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2539,
                                                "end": 2553,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 59
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2539,
                                                  "end": 2545,
                                                  "loc": {
                                                    "start": {
                                                      "line": 71,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 71,
                                                      "column": 51
                                                    },
                                                    "identifierName": "Parser"
                                                  },
                                                  "name": "Parser"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2546,
                                                  "end": 2553,
                                                  "loc": {
                                                    "start": {
                                                      "line": 71,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 71,
                                                      "column": 59
                                                    },
                                                    "identifierName": "Factory"
                                                  },
                                                  "name": "Factory"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2554,
                                                "end": 2562,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 68
                                                  },
                                                  "identifierName": "Finished"
                                                },
                                                "name": "Finished"
                                              },
                                              "computed": false
                                            }
                                          },
                                          {
                                            "type": "ObjectProperty",
                                            "start": 2564,
                                            "end": 2580,
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 70
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 86
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2564,
                                              "end": 2571,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 70
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 77
                                                },
                                                "identifierName": "context"
                                              },
                                              "name": "context"
                                            },
                                            "value": {
                                              "type": "Identifier",
                                              "start": 2573,
                                              "end": 2580,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 79
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 86
                                                },
                                                "identifierName": "results"
                                              },
                                              "name": "results"
                                            }
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 2597,
                                  "end": 2612,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 27
                                    }
                                  },
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 2604,
                                    "end": 2611,
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 26
                                      },
                                      "identifierName": "results"
                                    },
                                    "name": "results"
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2636,
                "end": 2722,
                "loc": {
                  "start": {
                    "line": 76,
                    "column": 4
                  },
                  "end": {
                    "line": 76,
                    "column": 90
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2636,
                  "end": 2643,
                  "loc": {
                    "start": {
                      "line": 76,
                      "column": 4
                    },
                    "end": {
                      "line": 76,
                      "column": 11
                    },
                    "identifierName": "request"
                  },
                  "name": "request"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2644,
                    "end": 2651,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 12
                      },
                      "end": {
                        "line": 76,
                        "column": 19
                      },
                      "identifierName": "command"
                    },
                    "name": "command"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 2653,
                    "end": 2665,
                    "loc": {
                      "start": {
                        "line": 76,
                        "column": 21
                      },
                      "end": {
                        "line": 76,
                        "column": 33
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2653,
                      "end": 2660,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 21
                        },
                        "end": {
                          "line": 76,
                          "column": 28
                        },
                        "identifierName": "factory"
                      },
                      "name": "factory"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 2663,
                      "end": 2665,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 31
                        },
                        "end": {
                          "line": 76,
                          "column": 33
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2667,
                  "end": 2722,
                  "loc": {
                    "start": {
                      "line": 76,
                      "column": 35
                    },
                    "end": {
                      "line": 76,
                      "column": 90
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2669,
                      "end": 2720,
                      "loc": {
                        "start": {
                          "line": 76,
                          "column": 37
                        },
                        "end": {
                          "line": 76,
                          "column": 88
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2676,
                        "end": 2720,
                        "loc": {
                          "start": {
                            "line": 76,
                            "column": 44
                          },
                          "end": {
                            "line": 76,
                            "column": 88
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2676,
                          "end": 2694,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 44
                            },
                            "end": {
                              "line": 76,
                              "column": 62
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2676,
                            "end": 2680,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 44
                              },
                              "end": {
                                "line": 76,
                                "column": 48
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2681,
                            "end": 2694,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 49
                              },
                              "end": {
                                "line": 76,
                                "column": 62
                              },
                              "identifierName": "requestByName"
                            },
                            "name": "requestByName"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 2695,
                            "end": 2701,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 63
                              },
                              "end": {
                                "line": 76,
                                "column": 69
                              }
                            },
                            "extra": {
                              "rawValue": "send",
                              "raw": "'send'"
                            },
                            "value": "send"
                          },
                          {
                            "type": "Identifier",
                            "start": 2703,
                            "end": 2710,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 71
                              },
                              "end": {
                                "line": 76,
                                "column": 78
                              },
                              "identifierName": "command"
                            },
                            "name": "command"
                          },
                          {
                            "type": "Identifier",
                            "start": 2712,
                            "end": 2719,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 80
                              },
                              "end": {
                                "line": 76,
                                "column": 87
                              },
                              "identifierName": "factory"
                            },
                            "name": "factory"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2728,
                "end": 2804,
                "loc": {
                  "start": {
                    "line": 78,
                    "column": 4
                  },
                  "end": {
                    "line": 78,
                    "column": 80
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2728,
                  "end": 2732,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 4
                    },
                    "end": {
                      "line": 78,
                      "column": 8
                    },
                    "identifierName": "undo"
                  },
                  "name": "undo"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 2733,
                    "end": 2745,
                    "loc": {
                      "start": {
                        "line": 78,
                        "column": 9
                      },
                      "end": {
                        "line": 78,
                        "column": 21
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2733,
                      "end": 2740,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 9
                        },
                        "end": {
                          "line": 78,
                          "column": 16
                        },
                        "identifierName": "factory"
                      },
                      "name": "factory"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 2743,
                      "end": 2745,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 19
                        },
                        "end": {
                          "line": 78,
                          "column": 21
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2747,
                  "end": 2804,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 23
                    },
                    "end": {
                      "line": 78,
                      "column": 80
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2749,
                      "end": 2802,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 25
                        },
                        "end": {
                          "line": 78,
                          "column": 78
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2756,
                        "end": 2802,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 32
                          },
                          "end": {
                            "line": 78,
                            "column": 78
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2756,
                          "end": 2774,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 32
                            },
                            "end": {
                              "line": 78,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2756,
                            "end": 2760,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 32
                              },
                              "end": {
                                "line": 78,
                                "column": 36
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2761,
                            "end": 2774,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 37
                              },
                              "end": {
                                "line": 78,
                                "column": 50
                              },
                              "identifierName": "requestByName"
                            },
                            "name": "requestByName"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 2775,
                            "end": 2781,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 51
                              },
                              "end": {
                                "line": 78,
                                "column": 57
                              }
                            },
                            "extra": {
                              "rawValue": "undo",
                              "raw": "'undo'"
                            },
                            "value": "undo"
                          },
                          {
                            "type": "Identifier",
                            "start": 2783,
                            "end": 2792,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 59
                              },
                              "end": {
                                "line": 78,
                                "column": 68
                              },
                              "identifierName": "undefined"
                            },
                            "name": "undefined"
                          },
                          {
                            "type": "Identifier",
                            "start": 2794,
                            "end": 2801,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 70
                              },
                              "end": {
                                "line": 78,
                                "column": 77
                              },
                              "identifierName": "factory"
                            },
                            "name": "factory"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2810,
                "end": 2886,
                "loc": {
                  "start": {
                    "line": 80,
                    "column": 4
                  },
                  "end": {
                    "line": 80,
                    "column": 80
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2810,
                  "end": 2814,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 4
                    },
                    "end": {
                      "line": 80,
                      "column": 8
                    },
                    "identifierName": "redo"
                  },
                  "name": "redo"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 2815,
                    "end": 2827,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 9
                      },
                      "end": {
                        "line": 80,
                        "column": 21
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2815,
                      "end": 2822,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 9
                        },
                        "end": {
                          "line": 80,
                          "column": 16
                        },
                        "identifierName": "factory"
                      },
                      "name": "factory"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 2825,
                      "end": 2827,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 19
                        },
                        "end": {
                          "line": 80,
                          "column": 21
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2829,
                  "end": 2886,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 23
                    },
                    "end": {
                      "line": 80,
                      "column": 80
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2831,
                      "end": 2884,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 25
                        },
                        "end": {
                          "line": 80,
                          "column": 78
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2838,
                        "end": 2884,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 32
                          },
                          "end": {
                            "line": 80,
                            "column": 78
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2838,
                          "end": 2856,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 32
                            },
                            "end": {
                              "line": 80,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2838,
                            "end": 2842,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 32
                              },
                              "end": {
                                "line": 80,
                                "column": 36
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2843,
                            "end": 2856,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 37
                              },
                              "end": {
                                "line": 80,
                                "column": 50
                              },
                              "identifierName": "requestByName"
                            },
                            "name": "requestByName"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 2857,
                            "end": 2863,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 51
                              },
                              "end": {
                                "line": 80,
                                "column": 57
                              }
                            },
                            "extra": {
                              "rawValue": "redo",
                              "raw": "'redo'"
                            },
                            "value": "redo"
                          },
                          {
                            "type": "Identifier",
                            "start": 2865,
                            "end": 2874,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 59
                              },
                              "end": {
                                "line": 80,
                                "column": 68
                              },
                              "identifierName": "undefined"
                            },
                            "name": "undefined"
                          },
                          {
                            "type": "Identifier",
                            "start": 2876,
                            "end": 2883,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 70
                              },
                              "end": {
                                "line": 80,
                                "column": 77
                              },
                              "identifierName": "factory"
                            },
                            "name": "factory"
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 2892,
                "end": 3026,
                "loc": {
                  "start": {
                    "line": 82,
                    "column": 4
                  },
                  "end": {
                    "line": 85,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2899,
                  "end": 2903,
                  "loc": {
                    "start": {
                      "line": 82,
                      "column": 11
                    },
                    "end": {
                      "line": 82,
                      "column": 15
                    },
                    "identifierName": "_ack"
                  },
                  "name": "_ack"
                },
                "static": true,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2904,
                    "end": 2910,
                    "loc": {
                      "start": {
                        "line": 82,
                        "column": 16
                      },
                      "end": {
                        "line": 82,
                        "column": 22
                      },
                      "identifierName": "socket"
                    },
                    "name": "socket"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2912,
                  "end": 3026,
                  "loc": {
                    "start": {
                      "line": 82,
                      "column": 24
                    },
                    "end": {
                      "line": 85,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2986,
                      "end": 3020,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 8
                        },
                        "end": {
                          "line": 84,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "LogicalExpression",
                        "start": 2986,
                        "end": 3019,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 8
                          },
                          "end": {
                            "line": 84,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 2986,
                          "end": 2992,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 8
                            },
                            "end": {
                              "line": 84,
                              "column": 14
                            },
                            "identifierName": "socket"
                          },
                          "name": "socket",
                          "leadingComments": null
                        },
                        "operator": "&&",
                        "right": {
                          "type": "CallExpression",
                          "start": 2996,
                          "end": 3019,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 18
                            },
                            "end": {
                              "line": 84,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2996,
                            "end": 3007,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 18
                              },
                              "end": {
                                "line": 84,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2996,
                              "end": 3002,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 18
                                },
                                "end": {
                                  "line": 84,
                                  "column": 24
                                },
                                "identifierName": "socket"
                              },
                              "name": "socket"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3003,
                              "end": 3007,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 25
                                },
                                "end": {
                                  "line": 84,
                                  "column": 29
                                },
                                "identifierName": "emit"
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 3008,
                              "end": 3018,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 30
                                },
                                "end": {
                                  "line": 84,
                                  "column": 40
                                }
                              },
                              "extra": {
                                "rawValue": "received",
                                "raw": "'received'"
                              },
                              "value": "received"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "if (socket.io.engine.transport.name !== 'websocket');",
                          "start": 2922,
                          "end": 2977,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 8
                            },
                            "end": {
                              "line": 83,
                              "column": 63
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": []
                }
              }
            ]
          },
          "leadingComments": [],
          "trailingComments": []
        }
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": "if (socket.io.engine.transport.name !== 'websocket');",
      "start": 2922,
      "end": 2977,
      "loc": {
        "start": {
          "line": 83,
          "column": 8
        },
        "end": {
          "line": 83,
          "column": 63
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "io",
      "start": 7,
      "end": 9,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 10,
      "end": 14,
      "loc": {
        "start": {
          "line": 1,
          "column": 10
        },
        "end": {
          "line": 1,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "socket.io-client",
      "start": 15,
      "end": 33,
      "loc": {
        "start": {
          "line": 1,
          "column": 15
        },
        "end": {
          "line": 1,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 33,
      "end": 34,
      "loc": {
        "start": {
          "line": 1,
          "column": 33
        },
        "end": {
          "line": 1,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 35,
      "end": 41,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Base",
      "start": 42,
      "end": 46,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 47,
      "end": 51,
      "loc": {
        "start": {
          "line": 2,
          "column": 12
        },
        "end": {
          "line": 2,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./base",
      "start": 52,
      "end": 60,
      "loc": {
        "start": {
          "line": 2,
          "column": 17
        },
        "end": {
          "line": 2,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 60,
      "end": 61,
      "loc": {
        "start": {
          "line": 2,
          "column": 25
        },
        "end": {
          "line": 2,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 62,
      "end": 68,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Parser",
      "start": 69,
      "end": 75,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 76,
      "end": 80,
      "loc": {
        "start": {
          "line": 3,
          "column": 14
        },
        "end": {
          "line": 3,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../core/parser",
      "start": 81,
      "end": 97,
      "loc": {
        "start": {
          "line": 3,
          "column": 19
        },
        "end": {
          "line": 3,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 97,
      "end": 98,
      "loc": {
        "start": {
          "line": 3,
          "column": 35
        },
        "end": {
          "line": 3,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 99,
      "end": 105,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 106,
      "end": 107,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "createContext",
      "start": 108,
      "end": 121,
      "loc": {
        "start": {
          "line": 4,
          "column": 9
        },
        "end": {
          "line": 4,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 121,
      "end": 122,
      "loc": {
        "start": {
          "line": 4,
          "column": 22
        },
        "end": {
          "line": 4,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleResult",
      "start": 123,
      "end": 135,
      "loc": {
        "start": {
          "line": 4,
          "column": 24
        },
        "end": {
          "line": 4,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 136,
      "end": 137,
      "loc": {
        "start": {
          "line": 4,
          "column": 37
        },
        "end": {
          "line": 4,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 138,
      "end": 142,
      "loc": {
        "start": {
          "line": 4,
          "column": 39
        },
        "end": {
          "line": 4,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../core/parser",
      "start": 143,
      "end": 159,
      "loc": {
        "start": {
          "line": 4,
          "column": 44
        },
        "end": {
          "line": 4,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 159,
      "end": 160,
      "loc": {
        "start": {
          "line": 4,
          "column": 60
        },
        "end": {
          "line": 4,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 162,
      "end": 168,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 169,
      "end": 176,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 177,
      "end": 182,
      "loc": {
        "start": {
          "line": 6,
          "column": 15
        },
        "end": {
          "line": 6,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SocketIO",
      "start": 183,
      "end": 191,
      "loc": {
        "start": {
          "line": 6,
          "column": 21
        },
        "end": {
          "line": 6,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "extends",
        "keyword": "extends",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "extends",
      "start": 192,
      "end": 199,
      "loc": {
        "start": {
          "line": 6,
          "column": 30
        },
        "end": {
          "line": 6,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Base",
      "start": 200,
      "end": 204,
      "loc": {
        "start": {
          "line": 6,
          "column": 38
        },
        "end": {
          "line": 6,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 205,
      "end": 206,
      "loc": {
        "start": {
          "line": 6,
          "column": 43
        },
        "end": {
          "line": 6,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 211,
      "end": 222,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 7,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 222,
      "end": 223,
      "loc": {
        "start": {
          "line": 7,
          "column": 15
        },
        "end": {
          "line": 7,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 223,
      "end": 230,
      "loc": {
        "start": {
          "line": 7,
          "column": 16
        },
        "end": {
          "line": 7,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 230,
      "end": 231,
      "loc": {
        "start": {
          "line": 7,
          "column": 23
        },
        "end": {
          "line": 7,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 232,
      "end": 233,
      "loc": {
        "start": {
          "line": 7,
          "column": 25
        },
        "end": {
          "line": 7,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "super",
        "keyword": "super",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "super",
      "start": 242,
      "end": 247,
      "loc": {
        "start": {
          "line": 8,
          "column": 8
        },
        "end": {
          "line": 8,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 247,
      "end": 248,
      "loc": {
        "start": {
          "line": 8,
          "column": 13
        },
        "end": {
          "line": 8,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 248,
      "end": 255,
      "loc": {
        "start": {
          "line": 8,
          "column": 14
        },
        "end": {
          "line": 8,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 255,
      "end": 256,
      "loc": {
        "start": {
          "line": 8,
          "column": 21
        },
        "end": {
          "line": 8,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 256,
      "end": 257,
      "loc": {
        "start": {
          "line": 8,
          "column": 22
        },
        "end": {
          "line": 8,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 262,
      "end": 263,
      "loc": {
        "start": {
          "line": 9,
          "column": 4
        },
        "end": {
          "line": 9,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "connect",
      "start": 269,
      "end": 276,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 276,
      "end": 277,
      "loc": {
        "start": {
          "line": 11,
          "column": 11
        },
        "end": {
          "line": 11,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 277,
      "end": 280,
      "loc": {
        "start": {
          "line": 11,
          "column": 12
        },
        "end": {
          "line": 11,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 281,
      "end": 282,
      "loc": {
        "start": {
          "line": 11,
          "column": 16
        },
        "end": {
          "line": 11,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 283,
      "end": 287,
      "loc": {
        "start": {
          "line": 11,
          "column": 18
        },
        "end": {
          "line": 11,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 287,
      "end": 288,
      "loc": {
        "start": {
          "line": 11,
          "column": 22
        },
        "end": {
          "line": 11,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 288,
      "end": 291,
      "loc": {
        "start": {
          "line": 11,
          "column": 23
        },
        "end": {
          "line": 11,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 291,
      "end": 292,
      "loc": {
        "start": {
          "line": 11,
          "column": 26
        },
        "end": {
          "line": 11,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 293,
      "end": 300,
      "loc": {
        "start": {
          "line": 11,
          "column": 28
        },
        "end": {
          "line": 11,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 300,
      "end": 301,
      "loc": {
        "start": {
          "line": 11,
          "column": 35
        },
        "end": {
          "line": 11,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 302,
      "end": 303,
      "loc": {
        "start": {
          "line": 11,
          "column": 37
        },
        "end": {
          "line": 11,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 312,
      "end": 318,
      "loc": {
        "start": {
          "line": 12,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 319,
      "end": 322,
      "loc": {
        "start": {
          "line": 12,
          "column": 15
        },
        "end": {
          "line": 12,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 323,
      "end": 330,
      "loc": {
        "start": {
          "line": 12,
          "column": 19
        },
        "end": {
          "line": 12,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 330,
      "end": 331,
      "loc": {
        "start": {
          "line": 12,
          "column": 26
        },
        "end": {
          "line": 12,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 331,
      "end": 332,
      "loc": {
        "start": {
          "line": 12,
          "column": 27
        },
        "end": {
          "line": 12,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolve",
      "start": 332,
      "end": 339,
      "loc": {
        "start": {
          "line": 12,
          "column": 28
        },
        "end": {
          "line": 12,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 339,
      "end": 340,
      "loc": {
        "start": {
          "line": 12,
          "column": 35
        },
        "end": {
          "line": 12,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reject",
      "start": 341,
      "end": 347,
      "loc": {
        "start": {
          "line": 12,
          "column": 37
        },
        "end": {
          "line": 12,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 347,
      "end": 348,
      "loc": {
        "start": {
          "line": 12,
          "column": 43
        },
        "end": {
          "line": 12,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 349,
      "end": 351,
      "loc": {
        "start": {
          "line": 12,
          "column": 45
        },
        "end": {
          "line": 12,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 352,
      "end": 353,
      "loc": {
        "start": {
          "line": 12,
          "column": 48
        },
        "end": {
          "line": 12,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 366,
      "end": 370,
      "loc": {
        "start": {
          "line": 13,
          "column": 12
        },
        "end": {
          "line": 13,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 370,
      "end": 371,
      "loc": {
        "start": {
          "line": 13,
          "column": 16
        },
        "end": {
          "line": 13,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 371,
      "end": 374,
      "loc": {
        "start": {
          "line": 13,
          "column": 17
        },
        "end": {
          "line": 13,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 375,
      "end": 376,
      "loc": {
        "start": {
          "line": 13,
          "column": 21
        },
        "end": {
          "line": 13,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 377,
      "end": 380,
      "loc": {
        "start": {
          "line": 13,
          "column": 23
        },
        "end": {
          "line": 13,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 380,
      "end": 381,
      "loc": {
        "start": {
          "line": 13,
          "column": 26
        },
        "end": {
          "line": 13,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 394,
      "end": 398,
      "loc": {
        "start": {
          "line": 14,
          "column": 12
        },
        "end": {
          "line": 14,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 398,
      "end": 399,
      "loc": {
        "start": {
          "line": 14,
          "column": 16
        },
        "end": {
          "line": 14,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 399,
      "end": 405,
      "loc": {
        "start": {
          "line": 14,
          "column": 17
        },
        "end": {
          "line": 14,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 406,
      "end": 407,
      "loc": {
        "start": {
          "line": 14,
          "column": 24
        },
        "end": {
          "line": 14,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "io",
      "start": 408,
      "end": 410,
      "loc": {
        "start": {
          "line": 14,
          "column": 26
        },
        "end": {
          "line": 14,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 410,
      "end": 411,
      "loc": {
        "start": {
          "line": 14,
          "column": 28
        },
        "end": {
          "line": 14,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 411,
      "end": 414,
      "loc": {
        "start": {
          "line": 14,
          "column": 29
        },
        "end": {
          "line": 14,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 414,
      "end": 415,
      "loc": {
        "start": {
          "line": 14,
          "column": 32
        },
        "end": {
          "line": 14,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 415,
      "end": 416,
      "loc": {
        "start": {
          "line": 14,
          "column": 33
        },
        "end": {
          "line": 14,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 429,
      "end": 433,
      "loc": {
        "start": {
          "line": 15,
          "column": 12
        },
        "end": {
          "line": 15,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 433,
      "end": 434,
      "loc": {
        "start": {
          "line": 15,
          "column": 16
        },
        "end": {
          "line": 15,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 434,
      "end": 440,
      "loc": {
        "start": {
          "line": 15,
          "column": 17
        },
        "end": {
          "line": 15,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 440,
      "end": 441,
      "loc": {
        "start": {
          "line": 15,
          "column": 23
        },
        "end": {
          "line": 15,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "once",
      "start": 441,
      "end": 445,
      "loc": {
        "start": {
          "line": 15,
          "column": 24
        },
        "end": {
          "line": 15,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 445,
      "end": 446,
      "loc": {
        "start": {
          "line": 15,
          "column": 28
        },
        "end": {
          "line": 15,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "connect",
      "start": 446,
      "end": 455,
      "loc": {
        "start": {
          "line": 15,
          "column": 29
        },
        "end": {
          "line": 15,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 455,
      "end": 456,
      "loc": {
        "start": {
          "line": 15,
          "column": 38
        },
        "end": {
          "line": 15,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 457,
      "end": 458,
      "loc": {
        "start": {
          "line": 15,
          "column": 40
        },
        "end": {
          "line": 15,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 458,
      "end": 459,
      "loc": {
        "start": {
          "line": 15,
          "column": 41
        },
        "end": {
          "line": 15,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 460,
      "end": 462,
      "loc": {
        "start": {
          "line": 15,
          "column": 43
        },
        "end": {
          "line": 15,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 463,
      "end": 464,
      "loc": {
        "start": {
          "line": 15,
          "column": 46
        },
        "end": {
          "line": 15,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 481,
      "end": 485,
      "loc": {
        "start": {
          "line": 16,
          "column": 16
        },
        "end": {
          "line": 16,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 485,
      "end": 486,
      "loc": {
        "start": {
          "line": 16,
          "column": 20
        },
        "end": {
          "line": 16,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 486,
      "end": 492,
      "loc": {
        "start": {
          "line": 16,
          "column": 21
        },
        "end": {
          "line": 16,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 492,
      "end": 493,
      "loc": {
        "start": {
          "line": 16,
          "column": 27
        },
        "end": {
          "line": 16,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "once",
      "start": 493,
      "end": 497,
      "loc": {
        "start": {
          "line": 16,
          "column": 28
        },
        "end": {
          "line": 16,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 497,
      "end": 498,
      "loc": {
        "start": {
          "line": 16,
          "column": 32
        },
        "end": {
          "line": 16,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "permission",
      "start": 498,
      "end": 510,
      "loc": {
        "start": {
          "line": 16,
          "column": 33
        },
        "end": {
          "line": 16,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 510,
      "end": 511,
      "loc": {
        "start": {
          "line": 16,
          "column": 45
        },
        "end": {
          "line": 16,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 512,
      "end": 516,
      "loc": {
        "start": {
          "line": 16,
          "column": 47
        },
        "end": {
          "line": 16,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 517,
      "end": 519,
      "loc": {
        "start": {
          "line": 16,
          "column": 52
        },
        "end": {
          "line": 16,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 520,
      "end": 521,
      "loc": {
        "start": {
          "line": 16,
          "column": 55
        },
        "end": {
          "line": 16,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 542,
      "end": 546,
      "loc": {
        "start": {
          "line": 17,
          "column": 20
        },
        "end": {
          "line": 17,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 546,
      "end": 547,
      "loc": {
        "start": {
          "line": 17,
          "column": 24
        },
        "end": {
          "line": 17,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "connected",
      "start": 547,
      "end": 556,
      "loc": {
        "start": {
          "line": 17,
          "column": 25
        },
        "end": {
          "line": 17,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 557,
      "end": 558,
      "loc": {
        "start": {
          "line": 17,
          "column": 35
        },
        "end": {
          "line": 17,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 559,
      "end": 563,
      "loc": {
        "start": {
          "line": 17,
          "column": 37
        },
        "end": {
          "line": 17,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 563,
      "end": 564,
      "loc": {
        "start": {
          "line": 17,
          "column": 41
        },
        "end": {
          "line": 17,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 585,
      "end": 589,
      "loc": {
        "start": {
          "line": 18,
          "column": 20
        },
        "end": {
          "line": 18,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 589,
      "end": 590,
      "loc": {
        "start": {
          "line": 18,
          "column": 24
        },
        "end": {
          "line": 18,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 590,
      "end": 592,
      "loc": {
        "start": {
          "line": 18,
          "column": 25
        },
        "end": {
          "line": 18,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 593,
      "end": 594,
      "loc": {
        "start": {
          "line": 18,
          "column": 28
        },
        "end": {
          "line": 18,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 595,
      "end": 599,
      "loc": {
        "start": {
          "line": 18,
          "column": 30
        },
        "end": {
          "line": 18,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 599,
      "end": 600,
      "loc": {
        "start": {
          "line": 18,
          "column": 34
        },
        "end": {
          "line": 18,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 600,
      "end": 602,
      "loc": {
        "start": {
          "line": 18,
          "column": 35
        },
        "end": {
          "line": 18,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 602,
      "end": 603,
      "loc": {
        "start": {
          "line": 18,
          "column": 37
        },
        "end": {
          "line": 18,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 624,
      "end": 628,
      "loc": {
        "start": {
          "line": 19,
          "column": 20
        },
        "end": {
          "line": 19,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 628,
      "end": 629,
      "loc": {
        "start": {
          "line": 19,
          "column": 24
        },
        "end": {
          "line": 19,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emit",
      "start": 629,
      "end": 633,
      "loc": {
        "start": {
          "line": 19,
          "column": 25
        },
        "end": {
          "line": 19,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 633,
      "end": 634,
      "loc": {
        "start": {
          "line": 19,
          "column": 29
        },
        "end": {
          "line": 19,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "connected",
      "start": 634,
      "end": 645,
      "loc": {
        "start": {
          "line": 19,
          "column": 30
        },
        "end": {
          "line": 19,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 645,
      "end": 646,
      "loc": {
        "start": {
          "line": 19,
          "column": 41
        },
        "end": {
          "line": 19,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 647,
      "end": 651,
      "loc": {
        "start": {
          "line": 19,
          "column": 43
        },
        "end": {
          "line": 19,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 651,
      "end": 652,
      "loc": {
        "start": {
          "line": 19,
          "column": 47
        },
        "end": {
          "line": 19,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 653,
      "end": 657,
      "loc": {
        "start": {
          "line": 19,
          "column": 49
        },
        "end": {
          "line": 19,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 657,
      "end": 658,
      "loc": {
        "start": {
          "line": 19,
          "column": 53
        },
        "end": {
          "line": 19,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 658,
      "end": 659,
      "loc": {
        "start": {
          "line": 19,
          "column": 54
        },
        "end": {
          "line": 19,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolve",
      "start": 680,
      "end": 687,
      "loc": {
        "start": {
          "line": 20,
          "column": 20
        },
        "end": {
          "line": 20,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 687,
      "end": 688,
      "loc": {
        "start": {
          "line": 20,
          "column": 27
        },
        "end": {
          "line": 20,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 688,
      "end": 692,
      "loc": {
        "start": {
          "line": 20,
          "column": 28
        },
        "end": {
          "line": 20,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 692,
      "end": 693,
      "loc": {
        "start": {
          "line": 20,
          "column": 32
        },
        "end": {
          "line": 20,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 693,
      "end": 694,
      "loc": {
        "start": {
          "line": 20,
          "column": 33
        },
        "end": {
          "line": 20,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 711,
      "end": 712,
      "loc": {
        "start": {
          "line": 21,
          "column": 16
        },
        "end": {
          "line": 21,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 712,
      "end": 713,
      "loc": {
        "start": {
          "line": 21,
          "column": 17
        },
        "end": {
          "line": 21,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 713,
      "end": 714,
      "loc": {
        "start": {
          "line": 21,
          "column": 18
        },
        "end": {
          "line": 21,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 731,
      "end": 735,
      "loc": {
        "start": {
          "line": 22,
          "column": 16
        },
        "end": {
          "line": 22,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 735,
      "end": 736,
      "loc": {
        "start": {
          "line": 22,
          "column": 20
        },
        "end": {
          "line": 22,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 736,
      "end": 742,
      "loc": {
        "start": {
          "line": 22,
          "column": 21
        },
        "end": {
          "line": 22,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 742,
      "end": 743,
      "loc": {
        "start": {
          "line": 22,
          "column": 27
        },
        "end": {
          "line": 22,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emit",
      "start": 743,
      "end": 747,
      "loc": {
        "start": {
          "line": 22,
          "column": 28
        },
        "end": {
          "line": 22,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 747,
      "end": 748,
      "loc": {
        "start": {
          "line": 22,
          "column": 32
        },
        "end": {
          "line": 22,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "init",
      "start": 748,
      "end": 754,
      "loc": {
        "start": {
          "line": 22,
          "column": 33
        },
        "end": {
          "line": 22,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 754,
      "end": 755,
      "loc": {
        "start": {
          "line": 22,
          "column": 39
        },
        "end": {
          "line": 22,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 756,
      "end": 763,
      "loc": {
        "start": {
          "line": 22,
          "column": 41
        },
        "end": {
          "line": 22,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 764,
      "end": 766,
      "loc": {
        "start": {
          "line": 22,
          "column": 49
        },
        "end": {
          "line": 22,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 767,
      "end": 771,
      "loc": {
        "start": {
          "line": 22,
          "column": 52
        },
        "end": {
          "line": 22,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 771,
      "end": 772,
      "loc": {
        "start": {
          "line": 22,
          "column": 56
        },
        "end": {
          "line": 22,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 772,
      "end": 779,
      "loc": {
        "start": {
          "line": 22,
          "column": 57
        },
        "end": {
          "line": 22,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 779,
      "end": 780,
      "loc": {
        "start": {
          "line": 22,
          "column": 64
        },
        "end": {
          "line": 22,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 780,
      "end": 781,
      "loc": {
        "start": {
          "line": 22,
          "column": 65
        },
        "end": {
          "line": 22,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 794,
      "end": 795,
      "loc": {
        "start": {
          "line": 23,
          "column": 12
        },
        "end": {
          "line": 23,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 795,
      "end": 796,
      "loc": {
        "start": {
          "line": 23,
          "column": 13
        },
        "end": {
          "line": 23,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 796,
      "end": 797,
      "loc": {
        "start": {
          "line": 23,
          "column": 14
        },
        "end": {
          "line": 23,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 811,
      "end": 815,
      "loc": {
        "start": {
          "line": 25,
          "column": 12
        },
        "end": {
          "line": 25,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 815,
      "end": 816,
      "loc": {
        "start": {
          "line": 25,
          "column": 16
        },
        "end": {
          "line": 25,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 816,
      "end": 822,
      "loc": {
        "start": {
          "line": 25,
          "column": 17
        },
        "end": {
          "line": 25,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 822,
      "end": 823,
      "loc": {
        "start": {
          "line": 25,
          "column": 23
        },
        "end": {
          "line": 25,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "on",
      "start": 823,
      "end": 825,
      "loc": {
        "start": {
          "line": 25,
          "column": 24
        },
        "end": {
          "line": 25,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 825,
      "end": 826,
      "loc": {
        "start": {
          "line": 25,
          "column": 26
        },
        "end": {
          "line": 25,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "connect_error",
      "start": 826,
      "end": 841,
      "loc": {
        "start": {
          "line": 25,
          "column": 27
        },
        "end": {
          "line": 25,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 841,
      "end": 842,
      "loc": {
        "start": {
          "line": 25,
          "column": 42
        },
        "end": {
          "line": 25,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reason",
      "start": 843,
      "end": 849,
      "loc": {
        "start": {
          "line": 25,
          "column": 44
        },
        "end": {
          "line": 25,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 850,
      "end": 852,
      "loc": {
        "start": {
          "line": 25,
          "column": 51
        },
        "end": {
          "line": 25,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 853,
      "end": 854,
      "loc": {
        "start": {
          "line": 25,
          "column": 54
        },
        "end": {
          "line": 25,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 871,
      "end": 875,
      "loc": {
        "start": {
          "line": 26,
          "column": 16
        },
        "end": {
          "line": 26,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 875,
      "end": 876,
      "loc": {
        "start": {
          "line": 26,
          "column": 20
        },
        "end": {
          "line": 26,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emit",
      "start": 876,
      "end": 880,
      "loc": {
        "start": {
          "line": 26,
          "column": 21
        },
        "end": {
          "line": 26,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 880,
      "end": 881,
      "loc": {
        "start": {
          "line": 26,
          "column": 25
        },
        "end": {
          "line": 26,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "error",
      "start": 881,
      "end": 888,
      "loc": {
        "start": {
          "line": 26,
          "column": 26
        },
        "end": {
          "line": 26,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 888,
      "end": 889,
      "loc": {
        "start": {
          "line": 26,
          "column": 33
        },
        "end": {
          "line": 26,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reason",
      "start": 890,
      "end": 896,
      "loc": {
        "start": {
          "line": 26,
          "column": 35
        },
        "end": {
          "line": 26,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 896,
      "end": 897,
      "loc": {
        "start": {
          "line": 26,
          "column": 41
        },
        "end": {
          "line": 26,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 897,
      "end": 898,
      "loc": {
        "start": {
          "line": 26,
          "column": 42
        },
        "end": {
          "line": 26,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reject",
      "start": 915,
      "end": 921,
      "loc": {
        "start": {
          "line": 27,
          "column": 16
        },
        "end": {
          "line": 27,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 921,
      "end": 922,
      "loc": {
        "start": {
          "line": 27,
          "column": 22
        },
        "end": {
          "line": 27,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reason",
      "start": 922,
      "end": 928,
      "loc": {
        "start": {
          "line": 27,
          "column": 23
        },
        "end": {
          "line": 27,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 928,
      "end": 929,
      "loc": {
        "start": {
          "line": 27,
          "column": 29
        },
        "end": {
          "line": 27,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 929,
      "end": 930,
      "loc": {
        "start": {
          "line": 27,
          "column": 30
        },
        "end": {
          "line": 27,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 943,
      "end": 944,
      "loc": {
        "start": {
          "line": 28,
          "column": 12
        },
        "end": {
          "line": 28,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 944,
      "end": 945,
      "loc": {
        "start": {
          "line": 28,
          "column": 13
        },
        "end": {
          "line": 28,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 945,
      "end": 946,
      "loc": {
        "start": {
          "line": 28,
          "column": 14
        },
        "end": {
          "line": 28,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 960,
      "end": 964,
      "loc": {
        "start": {
          "line": 30,
          "column": 12
        },
        "end": {
          "line": 30,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 964,
      "end": 965,
      "loc": {
        "start": {
          "line": 30,
          "column": 16
        },
        "end": {
          "line": 30,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 965,
      "end": 971,
      "loc": {
        "start": {
          "line": 30,
          "column": 17
        },
        "end": {
          "line": 30,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 971,
      "end": 972,
      "loc": {
        "start": {
          "line": 30,
          "column": 23
        },
        "end": {
          "line": 30,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "on",
      "start": 972,
      "end": 974,
      "loc": {
        "start": {
          "line": 30,
          "column": 24
        },
        "end": {
          "line": 30,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 974,
      "end": 975,
      "loc": {
        "start": {
          "line": 30,
          "column": 26
        },
        "end": {
          "line": 30,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "connect_timeout",
      "start": 975,
      "end": 992,
      "loc": {
        "start": {
          "line": 30,
          "column": 27
        },
        "end": {
          "line": 30,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 992,
      "end": 993,
      "loc": {
        "start": {
          "line": 30,
          "column": 44
        },
        "end": {
          "line": 30,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reason",
      "start": 994,
      "end": 1000,
      "loc": {
        "start": {
          "line": 30,
          "column": 46
        },
        "end": {
          "line": 30,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1001,
      "end": 1003,
      "loc": {
        "start": {
          "line": 30,
          "column": 53
        },
        "end": {
          "line": 30,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1004,
      "end": 1005,
      "loc": {
        "start": {
          "line": 30,
          "column": 56
        },
        "end": {
          "line": 30,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1022,
      "end": 1026,
      "loc": {
        "start": {
          "line": 31,
          "column": 16
        },
        "end": {
          "line": 31,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1026,
      "end": 1027,
      "loc": {
        "start": {
          "line": 31,
          "column": 20
        },
        "end": {
          "line": 31,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emit",
      "start": 1027,
      "end": 1031,
      "loc": {
        "start": {
          "line": 31,
          "column": 21
        },
        "end": {
          "line": 31,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1031,
      "end": 1032,
      "loc": {
        "start": {
          "line": 31,
          "column": 25
        },
        "end": {
          "line": 31,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "error",
      "start": 1032,
      "end": 1039,
      "loc": {
        "start": {
          "line": 31,
          "column": 26
        },
        "end": {
          "line": 31,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1039,
      "end": 1040,
      "loc": {
        "start": {
          "line": 31,
          "column": 33
        },
        "end": {
          "line": 31,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reason",
      "start": 1041,
      "end": 1047,
      "loc": {
        "start": {
          "line": 31,
          "column": 35
        },
        "end": {
          "line": 31,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1047,
      "end": 1048,
      "loc": {
        "start": {
          "line": 31,
          "column": 41
        },
        "end": {
          "line": 31,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1048,
      "end": 1049,
      "loc": {
        "start": {
          "line": 31,
          "column": 42
        },
        "end": {
          "line": 31,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reject",
      "start": 1066,
      "end": 1072,
      "loc": {
        "start": {
          "line": 32,
          "column": 16
        },
        "end": {
          "line": 32,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1072,
      "end": 1073,
      "loc": {
        "start": {
          "line": 32,
          "column": 22
        },
        "end": {
          "line": 32,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reason",
      "start": 1073,
      "end": 1079,
      "loc": {
        "start": {
          "line": 32,
          "column": 23
        },
        "end": {
          "line": 32,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1079,
      "end": 1080,
      "loc": {
        "start": {
          "line": 32,
          "column": 29
        },
        "end": {
          "line": 32,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1080,
      "end": 1081,
      "loc": {
        "start": {
          "line": 32,
          "column": 30
        },
        "end": {
          "line": 32,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1094,
      "end": 1095,
      "loc": {
        "start": {
          "line": 33,
          "column": 12
        },
        "end": {
          "line": 33,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1095,
      "end": 1096,
      "loc": {
        "start": {
          "line": 33,
          "column": 13
        },
        "end": {
          "line": 33,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1096,
      "end": 1097,
      "loc": {
        "start": {
          "line": 33,
          "column": 14
        },
        "end": {
          "line": 33,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1111,
      "end": 1114,
      "loc": {
        "start": {
          "line": 35,
          "column": 12
        },
        "end": {
          "line": 35,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1115,
      "end": 1122,
      "loc": {
        "start": {
          "line": 35,
          "column": 16
        },
        "end": {
          "line": 35,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1123,
      "end": 1124,
      "loc": {
        "start": {
          "line": 35,
          "column": 24
        },
        "end": {
          "line": 35,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 1125,
      "end": 1134,
      "loc": {
        "start": {
          "line": 35,
          "column": 26
        },
        "end": {
          "line": 35,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1134,
      "end": 1135,
      "loc": {
        "start": {
          "line": 35,
          "column": 35
        },
        "end": {
          "line": 35,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1148,
      "end": 1152,
      "loc": {
        "start": {
          "line": 36,
          "column": 12
        },
        "end": {
          "line": 36,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1152,
      "end": 1153,
      "loc": {
        "start": {
          "line": 36,
          "column": 16
        },
        "end": {
          "line": 36,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 1153,
      "end": 1159,
      "loc": {
        "start": {
          "line": 36,
          "column": 17
        },
        "end": {
          "line": 36,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1159,
      "end": 1160,
      "loc": {
        "start": {
          "line": 36,
          "column": 23
        },
        "end": {
          "line": 36,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "on",
      "start": 1160,
      "end": 1162,
      "loc": {
        "start": {
          "line": 36,
          "column": 24
        },
        "end": {
          "line": 36,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1162,
      "end": 1163,
      "loc": {
        "start": {
          "line": 36,
          "column": 26
        },
        "end": {
          "line": 36,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "binary",
      "start": 1163,
      "end": 1171,
      "loc": {
        "start": {
          "line": 36,
          "column": 27
        },
        "end": {
          "line": 36,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1171,
      "end": 1172,
      "loc": {
        "start": {
          "line": 36,
          "column": 35
        },
        "end": {
          "line": 36,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1173,
      "end": 1174,
      "loc": {
        "start": {
          "line": 36,
          "column": 37
        },
        "end": {
          "line": 36,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1174,
      "end": 1178,
      "loc": {
        "start": {
          "line": 36,
          "column": 38
        },
        "end": {
          "line": 36,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1178,
      "end": 1179,
      "loc": {
        "start": {
          "line": 36,
          "column": 42
        },
        "end": {
          "line": 36,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "flags",
      "start": 1180,
      "end": 1185,
      "loc": {
        "start": {
          "line": 36,
          "column": 44
        },
        "end": {
          "line": 36,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1185,
      "end": 1186,
      "loc": {
        "start": {
          "line": 36,
          "column": 49
        },
        "end": {
          "line": 36,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1187,
      "end": 1189,
      "loc": {
        "start": {
          "line": 36,
          "column": 51
        },
        "end": {
          "line": 36,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1190,
      "end": 1191,
      "loc": {
        "start": {
          "line": 36,
          "column": 54
        },
        "end": {
          "line": 36,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SocketIO",
      "start": 1208,
      "end": 1216,
      "loc": {
        "start": {
          "line": 37,
          "column": 16
        },
        "end": {
          "line": 37,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1216,
      "end": 1217,
      "loc": {
        "start": {
          "line": 37,
          "column": 24
        },
        "end": {
          "line": 37,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_ack",
      "start": 1217,
      "end": 1221,
      "loc": {
        "start": {
          "line": 37,
          "column": 25
        },
        "end": {
          "line": 37,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1221,
      "end": 1222,
      "loc": {
        "start": {
          "line": 37,
          "column": 29
        },
        "end": {
          "line": 37,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1222,
      "end": 1226,
      "loc": {
        "start": {
          "line": 37,
          "column": 30
        },
        "end": {
          "line": 37,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1226,
      "end": 1227,
      "loc": {
        "start": {
          "line": 37,
          "column": 34
        },
        "end": {
          "line": 37,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 1227,
      "end": 1233,
      "loc": {
        "start": {
          "line": 37,
          "column": 35
        },
        "end": {
          "line": 37,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1233,
      "end": 1234,
      "loc": {
        "start": {
          "line": 37,
          "column": 41
        },
        "end": {
          "line": 37,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1234,
      "end": 1235,
      "loc": {
        "start": {
          "line": 37,
          "column": 42
        },
        "end": {
          "line": 37,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1252,
      "end": 1254,
      "loc": {
        "start": {
          "line": 38,
          "column": 16
        },
        "end": {
          "line": 38,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1255,
      "end": 1256,
      "loc": {
        "start": {
          "line": 38,
          "column": 19
        },
        "end": {
          "line": 38,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1256,
      "end": 1263,
      "loc": {
        "start": {
          "line": 38,
          "column": 20
        },
        "end": {
          "line": 38,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1263,
      "end": 1264,
      "loc": {
        "start": {
          "line": 38,
          "column": 27
        },
        "end": {
          "line": 38,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1265,
      "end": 1266,
      "loc": {
        "start": {
          "line": 38,
          "column": 29
        },
        "end": {
          "line": 38,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleResult",
      "start": 1287,
      "end": 1299,
      "loc": {
        "start": {
          "line": 39,
          "column": 20
        },
        "end": {
          "line": 39,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1299,
      "end": 1300,
      "loc": {
        "start": {
          "line": 39,
          "column": 32
        },
        "end": {
          "line": 39,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1300,
      "end": 1307,
      "loc": {
        "start": {
          "line": 39,
          "column": 33
        },
        "end": {
          "line": 39,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1307,
      "end": 1308,
      "loc": {
        "start": {
          "line": 39,
          "column": 40
        },
        "end": {
          "line": 39,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1309,
      "end": 1312,
      "loc": {
        "start": {
          "line": 39,
          "column": 42
        },
        "end": {
          "line": 39,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Uint8Array",
      "start": 1313,
      "end": 1323,
      "loc": {
        "start": {
          "line": 39,
          "column": 46
        },
        "end": {
          "line": 39,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1323,
      "end": 1324,
      "loc": {
        "start": {
          "line": 39,
          "column": 56
        },
        "end": {
          "line": 39,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1324,
      "end": 1328,
      "loc": {
        "start": {
          "line": 39,
          "column": 57
        },
        "end": {
          "line": 39,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1328,
      "end": 1329,
      "loc": {
        "start": {
          "line": 39,
          "column": 61
        },
        "end": {
          "line": 39,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1329,
      "end": 1330,
      "loc": {
        "start": {
          "line": 39,
          "column": 62
        },
        "end": {
          "line": 39,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1330,
      "end": 1331,
      "loc": {
        "start": {
          "line": 39,
          "column": 63
        },
        "end": {
          "line": 39,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1348,
      "end": 1349,
      "loc": {
        "start": {
          "line": 40,
          "column": 16
        },
        "end": {
          "line": 40,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1362,
      "end": 1363,
      "loc": {
        "start": {
          "line": 41,
          "column": 12
        },
        "end": {
          "line": 41,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1363,
      "end": 1364,
      "loc": {
        "start": {
          "line": 41,
          "column": 13
        },
        "end": {
          "line": 41,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1364,
      "end": 1365,
      "loc": {
        "start": {
          "line": 41,
          "column": 14
        },
        "end": {
          "line": 41,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1379,
      "end": 1383,
      "loc": {
        "start": {
          "line": 43,
          "column": 12
        },
        "end": {
          "line": 43,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1383,
      "end": 1384,
      "loc": {
        "start": {
          "line": 43,
          "column": 16
        },
        "end": {
          "line": 43,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 1384,
      "end": 1390,
      "loc": {
        "start": {
          "line": 43,
          "column": 17
        },
        "end": {
          "line": 43,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1390,
      "end": 1391,
      "loc": {
        "start": {
          "line": 43,
          "column": 23
        },
        "end": {
          "line": 43,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "on",
      "start": 1391,
      "end": 1393,
      "loc": {
        "start": {
          "line": 43,
          "column": 24
        },
        "end": {
          "line": 43,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1393,
      "end": 1394,
      "loc": {
        "start": {
          "line": 43,
          "column": 26
        },
        "end": {
          "line": 43,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "json",
      "start": 1394,
      "end": 1400,
      "loc": {
        "start": {
          "line": 43,
          "column": 27
        },
        "end": {
          "line": 43,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1400,
      "end": 1401,
      "loc": {
        "start": {
          "line": 43,
          "column": 33
        },
        "end": {
          "line": 43,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1402,
      "end": 1406,
      "loc": {
        "start": {
          "line": 43,
          "column": 35
        },
        "end": {
          "line": 43,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1407,
      "end": 1409,
      "loc": {
        "start": {
          "line": 43,
          "column": 40
        },
        "end": {
          "line": 43,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1410,
      "end": 1411,
      "loc": {
        "start": {
          "line": 43,
          "column": 43
        },
        "end": {
          "line": 43,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SocketIO",
      "start": 1428,
      "end": 1436,
      "loc": {
        "start": {
          "line": 44,
          "column": 16
        },
        "end": {
          "line": 44,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1436,
      "end": 1437,
      "loc": {
        "start": {
          "line": 44,
          "column": 24
        },
        "end": {
          "line": 44,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_ack",
      "start": 1437,
      "end": 1441,
      "loc": {
        "start": {
          "line": 44,
          "column": 25
        },
        "end": {
          "line": 44,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1441,
      "end": 1442,
      "loc": {
        "start": {
          "line": 44,
          "column": 29
        },
        "end": {
          "line": 44,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1442,
      "end": 1446,
      "loc": {
        "start": {
          "line": 44,
          "column": 30
        },
        "end": {
          "line": 44,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1446,
      "end": 1447,
      "loc": {
        "start": {
          "line": 44,
          "column": 34
        },
        "end": {
          "line": 44,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 1447,
      "end": 1453,
      "loc": {
        "start": {
          "line": 44,
          "column": 35
        },
        "end": {
          "line": 44,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1453,
      "end": 1454,
      "loc": {
        "start": {
          "line": 44,
          "column": 41
        },
        "end": {
          "line": 44,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1454,
      "end": 1455,
      "loc": {
        "start": {
          "line": 44,
          "column": 42
        },
        "end": {
          "line": 44,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1472,
      "end": 1474,
      "loc": {
        "start": {
          "line": 45,
          "column": 16
        },
        "end": {
          "line": 45,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1475,
      "end": 1476,
      "loc": {
        "start": {
          "line": 45,
          "column": 19
        },
        "end": {
          "line": 45,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1476,
      "end": 1480,
      "loc": {
        "start": {
          "line": 45,
          "column": 20
        },
        "end": {
          "line": 45,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1480,
      "end": 1481,
      "loc": {
        "start": {
          "line": 45,
          "column": 24
        },
        "end": {
          "line": 45,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 1481,
      "end": 1485,
      "loc": {
        "start": {
          "line": 45,
          "column": 25
        },
        "end": {
          "line": 45,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1486,
      "end": 1489,
      "loc": {
        "start": {
          "line": 45,
          "column": 30
        },
        "end": {
          "line": 45,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "BeginFrame",
      "start": 1490,
      "end": 1502,
      "loc": {
        "start": {
          "line": 45,
          "column": 34
        },
        "end": {
          "line": 45,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1502,
      "end": 1503,
      "loc": {
        "start": {
          "line": 45,
          "column": 46
        },
        "end": {
          "line": 45,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1504,
      "end": 1511,
      "loc": {
        "start": {
          "line": 45,
          "column": 48
        },
        "end": {
          "line": 45,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1512,
      "end": 1513,
      "loc": {
        "start": {
          "line": 45,
          "column": 56
        },
        "end": {
          "line": 45,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1514,
      "end": 1518,
      "loc": {
        "start": {
          "line": 45,
          "column": 58
        },
        "end": {
          "line": 45,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1518,
      "end": 1519,
      "loc": {
        "start": {
          "line": 45,
          "column": 62
        },
        "end": {
          "line": 45,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tasks",
      "start": 1519,
      "end": 1524,
      "loc": {
        "start": {
          "line": 45,
          "column": 63
        },
        "end": {
          "line": 45,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1524,
      "end": 1525,
      "loc": {
        "start": {
          "line": 45,
          "column": 68
        },
        "end": {
          "line": 45,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 1525,
      "end": 1528,
      "loc": {
        "start": {
          "line": 45,
          "column": 69
        },
        "end": {
          "line": 45,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1528,
      "end": 1529,
      "loc": {
        "start": {
          "line": 45,
          "column": 72
        },
        "end": {
          "line": 45,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1529,
      "end": 1533,
      "loc": {
        "start": {
          "line": 45,
          "column": 73
        },
        "end": {
          "line": 45,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1533,
      "end": 1534,
      "loc": {
        "start": {
          "line": 45,
          "column": 77
        },
        "end": {
          "line": 45,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "transactionID",
      "start": 1534,
      "end": 1547,
      "loc": {
        "start": {
          "line": 45,
          "column": 78
        },
        "end": {
          "line": 45,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1547,
      "end": 1548,
      "loc": {
        "start": {
          "line": 45,
          "column": 91
        },
        "end": {
          "line": 45,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1548,
      "end": 1549,
      "loc": {
        "start": {
          "line": 45,
          "column": 92
        },
        "end": {
          "line": 45,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1566,
      "end": 1568,
      "loc": {
        "start": {
          "line": 46,
          "column": 16
        },
        "end": {
          "line": 46,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1569,
      "end": 1570,
      "loc": {
        "start": {
          "line": 46,
          "column": 19
        },
        "end": {
          "line": 46,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1570,
      "end": 1577,
      "loc": {
        "start": {
          "line": 46,
          "column": 20
        },
        "end": {
          "line": 46,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1577,
      "end": 1578,
      "loc": {
        "start": {
          "line": 46,
          "column": 27
        },
        "end": {
          "line": 46,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleResult",
      "start": 1579,
      "end": 1591,
      "loc": {
        "start": {
          "line": 46,
          "column": 29
        },
        "end": {
          "line": 46,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1591,
      "end": 1592,
      "loc": {
        "start": {
          "line": 46,
          "column": 41
        },
        "end": {
          "line": 46,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1592,
      "end": 1599,
      "loc": {
        "start": {
          "line": 46,
          "column": 42
        },
        "end": {
          "line": 46,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1599,
      "end": 1600,
      "loc": {
        "start": {
          "line": 46,
          "column": 49
        },
        "end": {
          "line": 46,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1601,
      "end": 1605,
      "loc": {
        "start": {
          "line": 46,
          "column": 51
        },
        "end": {
          "line": 46,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1605,
      "end": 1606,
      "loc": {
        "start": {
          "line": 46,
          "column": 55
        },
        "end": {
          "line": 46,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1606,
      "end": 1607,
      "loc": {
        "start": {
          "line": 46,
          "column": 56
        },
        "end": {
          "line": 46,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1624,
      "end": 1626,
      "loc": {
        "start": {
          "line": 47,
          "column": 16
        },
        "end": {
          "line": 47,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1627,
      "end": 1628,
      "loc": {
        "start": {
          "line": 47,
          "column": 19
        },
        "end": {
          "line": 47,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1628,
      "end": 1635,
      "loc": {
        "start": {
          "line": 47,
          "column": 20
        },
        "end": {
          "line": 47,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1636,
      "end": 1638,
      "loc": {
        "start": {
          "line": 47,
          "column": 28
        },
        "end": {
          "line": 47,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1639,
      "end": 1643,
      "loc": {
        "start": {
          "line": 47,
          "column": 31
        },
        "end": {
          "line": 47,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1643,
      "end": 1644,
      "loc": {
        "start": {
          "line": 47,
          "column": 35
        },
        "end": {
          "line": 47,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 1644,
      "end": 1648,
      "loc": {
        "start": {
          "line": 47,
          "column": 36
        },
        "end": {
          "line": 47,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1649,
      "end": 1652,
      "loc": {
        "start": {
          "line": 47,
          "column": 41
        },
        "end": {
          "line": 47,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "EndFrame",
      "start": 1653,
      "end": 1663,
      "loc": {
        "start": {
          "line": 47,
          "column": 45
        },
        "end": {
          "line": 47,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1664,
      "end": 1666,
      "loc": {
        "start": {
          "line": 47,
          "column": 56
        },
        "end": {
          "line": 47,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 1667,
      "end": 1671,
      "loc": {
        "start": {
          "line": 47,
          "column": 59
        },
        "end": {
          "line": 47,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1671,
      "end": 1672,
      "loc": {
        "start": {
          "line": 47,
          "column": 63
        },
        "end": {
          "line": 47,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "transactionID",
      "start": 1672,
      "end": 1685,
      "loc": {
        "start": {
          "line": 47,
          "column": 64
        },
        "end": {
          "line": 47,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1686,
      "end": 1689,
      "loc": {
        "start": {
          "line": 47,
          "column": 78
        },
        "end": {
          "line": 47,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1690,
      "end": 1697,
      "loc": {
        "start": {
          "line": 47,
          "column": 82
        },
        "end": {
          "line": 47,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1697,
      "end": 1698,
      "loc": {
        "start": {
          "line": 47,
          "column": 89
        },
        "end": {
          "line": 47,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1698,
      "end": 1700,
      "loc": {
        "start": {
          "line": 47,
          "column": 90
        },
        "end": {
          "line": 47,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1700,
      "end": 1701,
      "loc": {
        "start": {
          "line": 47,
          "column": 92
        },
        "end": {
          "line": 47,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1702,
      "end": 1703,
      "loc": {
        "start": {
          "line": 47,
          "column": 94
        },
        "end": {
          "line": 47,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1724,
      "end": 1728,
      "loc": {
        "start": {
          "line": 48,
          "column": 20
        },
        "end": {
          "line": 48,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1728,
      "end": 1729,
      "loc": {
        "start": {
          "line": 48,
          "column": 24
        },
        "end": {
          "line": 48,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tasks",
      "start": 1729,
      "end": 1734,
      "loc": {
        "start": {
          "line": 48,
          "column": 25
        },
        "end": {
          "line": 48,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1734,
      "end": 1735,
      "loc": {
        "start": {
          "line": 48,
          "column": 30
        },
        "end": {
          "line": 48,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "delete",
        "keyword": "delete",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "delete",
      "start": 1735,
      "end": 1741,
      "loc": {
        "start": {
          "line": 48,
          "column": 31
        },
        "end": {
          "line": 48,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1741,
      "end": 1742,
      "loc": {
        "start": {
          "line": 48,
          "column": 37
        },
        "end": {
          "line": 48,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1742,
      "end": 1749,
      "loc": {
        "start": {
          "line": 48,
          "column": 38
        },
        "end": {
          "line": 48,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1749,
      "end": 1750,
      "loc": {
        "start": {
          "line": 48,
          "column": 45
        },
        "end": {
          "line": 48,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 1750,
      "end": 1752,
      "loc": {
        "start": {
          "line": 48,
          "column": 46
        },
        "end": {
          "line": 48,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1752,
      "end": 1753,
      "loc": {
        "start": {
          "line": 48,
          "column": 48
        },
        "end": {
          "line": 48,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1753,
      "end": 1754,
      "loc": {
        "start": {
          "line": 48,
          "column": 49
        },
        "end": {
          "line": 48,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "current",
      "start": 1775,
      "end": 1782,
      "loc": {
        "start": {
          "line": 49,
          "column": 20
        },
        "end": {
          "line": 49,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1783,
      "end": 1784,
      "loc": {
        "start": {
          "line": 49,
          "column": 28
        },
        "end": {
          "line": 49,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 1785,
      "end": 1794,
      "loc": {
        "start": {
          "line": 49,
          "column": 30
        },
        "end": {
          "line": 49,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1794,
      "end": 1795,
      "loc": {
        "start": {
          "line": 49,
          "column": 39
        },
        "end": {
          "line": 49,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1812,
      "end": 1813,
      "loc": {
        "start": {
          "line": 50,
          "column": 16
        },
        "end": {
          "line": 50,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1826,
      "end": 1827,
      "loc": {
        "start": {
          "line": 51,
          "column": 12
        },
        "end": {
          "line": 51,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1827,
      "end": 1828,
      "loc": {
        "start": {
          "line": 51,
          "column": 13
        },
        "end": {
          "line": 51,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1828,
      "end": 1829,
      "loc": {
        "start": {
          "line": 51,
          "column": 14
        },
        "end": {
          "line": 51,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1843,
      "end": 1847,
      "loc": {
        "start": {
          "line": 53,
          "column": 12
        },
        "end": {
          "line": 53,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1847,
      "end": 1848,
      "loc": {
        "start": {
          "line": 53,
          "column": 16
        },
        "end": {
          "line": 53,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 1848,
      "end": 1854,
      "loc": {
        "start": {
          "line": 53,
          "column": 17
        },
        "end": {
          "line": 53,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1854,
      "end": 1855,
      "loc": {
        "start": {
          "line": 53,
          "column": 23
        },
        "end": {
          "line": 53,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "on",
      "start": 1855,
      "end": 1857,
      "loc": {
        "start": {
          "line": 53,
          "column": 24
        },
        "end": {
          "line": 53,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1857,
      "end": 1858,
      "loc": {
        "start": {
          "line": 53,
          "column": 26
        },
        "end": {
          "line": 53,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "undo",
      "start": 1858,
      "end": 1864,
      "loc": {
        "start": {
          "line": 53,
          "column": 27
        },
        "end": {
          "line": 53,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1864,
      "end": 1865,
      "loc": {
        "start": {
          "line": 53,
          "column": 33
        },
        "end": {
          "line": 53,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "args",
      "start": 1866,
      "end": 1870,
      "loc": {
        "start": {
          "line": 53,
          "column": 35
        },
        "end": {
          "line": 53,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1871,
      "end": 1873,
      "loc": {
        "start": {
          "line": 53,
          "column": 40
        },
        "end": {
          "line": 53,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1874,
      "end": 1878,
      "loc": {
        "start": {
          "line": 53,
          "column": 43
        },
        "end": {
          "line": 53,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1878,
      "end": 1879,
      "loc": {
        "start": {
          "line": 53,
          "column": 47
        },
        "end": {
          "line": 53,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emit",
      "start": 1879,
      "end": 1883,
      "loc": {
        "start": {
          "line": 53,
          "column": 48
        },
        "end": {
          "line": 53,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1883,
      "end": 1884,
      "loc": {
        "start": {
          "line": 53,
          "column": 52
        },
        "end": {
          "line": 53,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "undo",
      "start": 1884,
      "end": 1890,
      "loc": {
        "start": {
          "line": 53,
          "column": 53
        },
        "end": {
          "line": 53,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1890,
      "end": 1891,
      "loc": {
        "start": {
          "line": 53,
          "column": 59
        },
        "end": {
          "line": 53,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "args",
      "start": 1892,
      "end": 1896,
      "loc": {
        "start": {
          "line": 53,
          "column": 61
        },
        "end": {
          "line": 53,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1896,
      "end": 1897,
      "loc": {
        "start": {
          "line": 53,
          "column": 65
        },
        "end": {
          "line": 53,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1897,
      "end": 1898,
      "loc": {
        "start": {
          "line": 53,
          "column": 66
        },
        "end": {
          "line": 53,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1898,
      "end": 1899,
      "loc": {
        "start": {
          "line": 53,
          "column": 67
        },
        "end": {
          "line": 53,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1908,
      "end": 1909,
      "loc": {
        "start": {
          "line": 54,
          "column": 8
        },
        "end": {
          "line": 54,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1909,
      "end": 1910,
      "loc": {
        "start": {
          "line": 54,
          "column": 9
        },
        "end": {
          "line": 54,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1910,
      "end": 1911,
      "loc": {
        "start": {
          "line": 54,
          "column": 10
        },
        "end": {
          "line": 54,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1916,
      "end": 1917,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "disconnect",
      "start": 1923,
      "end": 1933,
      "loc": {
        "start": {
          "line": 57,
          "column": 4
        },
        "end": {
          "line": 57,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1933,
      "end": 1934,
      "loc": {
        "start": {
          "line": 57,
          "column": 14
        },
        "end": {
          "line": 57,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1934,
      "end": 1935,
      "loc": {
        "start": {
          "line": 57,
          "column": 15
        },
        "end": {
          "line": 57,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1936,
      "end": 1937,
      "loc": {
        "start": {
          "line": 57,
          "column": 17
        },
        "end": {
          "line": 57,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1946,
      "end": 1950,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1950,
      "end": 1951,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 1951,
      "end": 1957,
      "loc": {
        "start": {
          "line": 58,
          "column": 13
        },
        "end": {
          "line": 58,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1957,
      "end": 1958,
      "loc": {
        "start": {
          "line": 58,
          "column": 19
        },
        "end": {
          "line": 58,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "disconnect",
      "start": 1958,
      "end": 1968,
      "loc": {
        "start": {
          "line": 58,
          "column": 20
        },
        "end": {
          "line": 58,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1968,
      "end": 1969,
      "loc": {
        "start": {
          "line": 58,
          "column": 30
        },
        "end": {
          "line": 58,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1969,
      "end": 1970,
      "loc": {
        "start": {
          "line": 58,
          "column": 31
        },
        "end": {
          "line": 58,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1970,
      "end": 1971,
      "loc": {
        "start": {
          "line": 58,
          "column": 32
        },
        "end": {
          "line": 58,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1980,
      "end": 1984,
      "loc": {
        "start": {
          "line": 59,
          "column": 8
        },
        "end": {
          "line": 59,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1984,
      "end": 1985,
      "loc": {
        "start": {
          "line": 59,
          "column": 12
        },
        "end": {
          "line": 59,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 1985,
      "end": 1991,
      "loc": {
        "start": {
          "line": 59,
          "column": 13
        },
        "end": {
          "line": 59,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1992,
      "end": 1993,
      "loc": {
        "start": {
          "line": 59,
          "column": 20
        },
        "end": {
          "line": 59,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 1994,
      "end": 2003,
      "loc": {
        "start": {
          "line": 59,
          "column": 22
        },
        "end": {
          "line": 59,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2003,
      "end": 2004,
      "loc": {
        "start": {
          "line": 59,
          "column": 31
        },
        "end": {
          "line": 59,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2013,
      "end": 2017,
      "loc": {
        "start": {
          "line": 60,
          "column": 8
        },
        "end": {
          "line": 60,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2017,
      "end": 2018,
      "loc": {
        "start": {
          "line": 60,
          "column": 12
        },
        "end": {
          "line": 60,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tasks",
      "start": 2018,
      "end": 2023,
      "loc": {
        "start": {
          "line": 60,
          "column": 13
        },
        "end": {
          "line": 60,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2024,
      "end": 2025,
      "loc": {
        "start": {
          "line": 60,
          "column": 19
        },
        "end": {
          "line": 60,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2026,
      "end": 2029,
      "loc": {
        "start": {
          "line": 60,
          "column": 21
        },
        "end": {
          "line": 60,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Map",
      "start": 2030,
      "end": 2033,
      "loc": {
        "start": {
          "line": 60,
          "column": 25
        },
        "end": {
          "line": 60,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2033,
      "end": 2034,
      "loc": {
        "start": {
          "line": 60,
          "column": 28
        },
        "end": {
          "line": 60,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2034,
      "end": 2035,
      "loc": {
        "start": {
          "line": 60,
          "column": 29
        },
        "end": {
          "line": 60,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2035,
      "end": 2036,
      "loc": {
        "start": {
          "line": 60,
          "column": 30
        },
        "end": {
          "line": 60,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2045,
      "end": 2049,
      "loc": {
        "start": {
          "line": 61,
          "column": 8
        },
        "end": {
          "line": 61,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2049,
      "end": 2050,
      "loc": {
        "start": {
          "line": 61,
          "column": 12
        },
        "end": {
          "line": 61,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emit",
      "start": 2050,
      "end": 2054,
      "loc": {
        "start": {
          "line": 61,
          "column": 13
        },
        "end": {
          "line": 61,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2054,
      "end": 2055,
      "loc": {
        "start": {
          "line": 61,
          "column": 17
        },
        "end": {
          "line": 61,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "disconnected",
      "start": 2055,
      "end": 2069,
      "loc": {
        "start": {
          "line": 61,
          "column": 18
        },
        "end": {
          "line": 61,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2069,
      "end": 2070,
      "loc": {
        "start": {
          "line": 61,
          "column": 32
        },
        "end": {
          "line": 61,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2071,
      "end": 2075,
      "loc": {
        "start": {
          "line": 61,
          "column": 34
        },
        "end": {
          "line": 61,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2075,
      "end": 2076,
      "loc": {
        "start": {
          "line": 61,
          "column": 38
        },
        "end": {
          "line": 61,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2076,
      "end": 2077,
      "loc": {
        "start": {
          "line": 61,
          "column": 39
        },
        "end": {
          "line": 61,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2082,
      "end": 2083,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 62,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "requestByName",
      "start": 2089,
      "end": 2102,
      "loc": {
        "start": {
          "line": 64,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2102,
      "end": 2103,
      "loc": {
        "start": {
          "line": 64,
          "column": 17
        },
        "end": {
          "line": 64,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2103,
      "end": 2107,
      "loc": {
        "start": {
          "line": 64,
          "column": 18
        },
        "end": {
          "line": 64,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2107,
      "end": 2108,
      "loc": {
        "start": {
          "line": 64,
          "column": 22
        },
        "end": {
          "line": 64,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 2109,
      "end": 2116,
      "loc": {
        "start": {
          "line": 64,
          "column": 24
        },
        "end": {
          "line": 64,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2116,
      "end": 2117,
      "loc": {
        "start": {
          "line": 64,
          "column": 31
        },
        "end": {
          "line": 64,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "factory",
      "start": 2118,
      "end": 2125,
      "loc": {
        "start": {
          "line": 64,
          "column": 33
        },
        "end": {
          "line": 64,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2126,
      "end": 2127,
      "loc": {
        "start": {
          "line": 64,
          "column": 41
        },
        "end": {
          "line": 64,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2128,
      "end": 2129,
      "loc": {
        "start": {
          "line": 64,
          "column": 43
        },
        "end": {
          "line": 64,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2129,
      "end": 2130,
      "loc": {
        "start": {
          "line": 64,
          "column": 44
        },
        "end": {
          "line": 64,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2130,
      "end": 2131,
      "loc": {
        "start": {
          "line": 64,
          "column": 45
        },
        "end": {
          "line": 64,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2132,
      "end": 2133,
      "loc": {
        "start": {
          "line": 64,
          "column": 47
        },
        "end": {
          "line": 64,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2142,
      "end": 2148,
      "loc": {
        "start": {
          "line": 65,
          "column": 8
        },
        "end": {
          "line": 65,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 2149,
      "end": 2152,
      "loc": {
        "start": {
          "line": 65,
          "column": 15
        },
        "end": {
          "line": 65,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Promise",
      "start": 2153,
      "end": 2160,
      "loc": {
        "start": {
          "line": 65,
          "column": 19
        },
        "end": {
          "line": 65,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2160,
      "end": 2161,
      "loc": {
        "start": {
          "line": 65,
          "column": 26
        },
        "end": {
          "line": 65,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2161,
      "end": 2162,
      "loc": {
        "start": {
          "line": 65,
          "column": 27
        },
        "end": {
          "line": 65,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolve",
      "start": 2162,
      "end": 2169,
      "loc": {
        "start": {
          "line": 65,
          "column": 28
        },
        "end": {
          "line": 65,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2169,
      "end": 2170,
      "loc": {
        "start": {
          "line": 65,
          "column": 35
        },
        "end": {
          "line": 65,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reject",
      "start": 2171,
      "end": 2177,
      "loc": {
        "start": {
          "line": 65,
          "column": 37
        },
        "end": {
          "line": 65,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2177,
      "end": 2178,
      "loc": {
        "start": {
          "line": 65,
          "column": 43
        },
        "end": {
          "line": 65,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2179,
      "end": 2181,
      "loc": {
        "start": {
          "line": 65,
          "column": 45
        },
        "end": {
          "line": 65,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2182,
      "end": 2183,
      "loc": {
        "start": {
          "line": 65,
          "column": 48
        },
        "end": {
          "line": 65,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2196,
      "end": 2199,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "context",
      "start": 2200,
      "end": 2207,
      "loc": {
        "start": {
          "line": 66,
          "column": 16
        },
        "end": {
          "line": 66,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2208,
      "end": 2209,
      "loc": {
        "start": {
          "line": 66,
          "column": 24
        },
        "end": {
          "line": 66,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "createContext",
      "start": 2210,
      "end": 2223,
      "loc": {
        "start": {
          "line": 66,
          "column": 26
        },
        "end": {
          "line": 66,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2223,
      "end": 2224,
      "loc": {
        "start": {
          "line": 66,
          "column": 39
        },
        "end": {
          "line": 66,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "factory",
      "start": 2224,
      "end": 2231,
      "loc": {
        "start": {
          "line": 66,
          "column": 40
        },
        "end": {
          "line": 66,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2231,
      "end": 2232,
      "loc": {
        "start": {
          "line": 66,
          "column": 47
        },
        "end": {
          "line": 66,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "resolve",
      "start": 2233,
      "end": 2240,
      "loc": {
        "start": {
          "line": 66,
          "column": 49
        },
        "end": {
          "line": 66,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2240,
      "end": 2241,
      "loc": {
        "start": {
          "line": 66,
          "column": 56
        },
        "end": {
          "line": 66,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reject",
      "start": 2242,
      "end": 2248,
      "loc": {
        "start": {
          "line": 66,
          "column": 58
        },
        "end": {
          "line": 66,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2248,
      "end": 2249,
      "loc": {
        "start": {
          "line": 66,
          "column": 64
        },
        "end": {
          "line": 66,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 2250,
      "end": 2257,
      "loc": {
        "start": {
          "line": 66,
          "column": 66
        },
        "end": {
          "line": 66,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2257,
      "end": 2258,
      "loc": {
        "start": {
          "line": 66,
          "column": 73
        },
        "end": {
          "line": 66,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2258,
      "end": 2259,
      "loc": {
        "start": {
          "line": 66,
          "column": 74
        },
        "end": {
          "line": 66,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "context",
      "start": 2272,
      "end": 2279,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2279,
      "end": 2280,
      "loc": {
        "start": {
          "line": 67,
          "column": 19
        },
        "end": {
          "line": 67,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2280,
      "end": 2287,
      "loc": {
        "start": {
          "line": 67,
          "column": 20
        },
        "end": {
          "line": 67,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2287,
      "end": 2288,
      "loc": {
        "start": {
          "line": 67,
          "column": 27
        },
        "end": {
          "line": 67,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 2288,
      "end": 2296,
      "loc": {
        "start": {
          "line": 67,
          "column": 28
        },
        "end": {
          "line": 67,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2296,
      "end": 2297,
      "loc": {
        "start": {
          "line": 67,
          "column": 36
        },
        "end": {
          "line": 67,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2297,
      "end": 2298,
      "loc": {
        "start": {
          "line": 67,
          "column": 37
        },
        "end": {
          "line": 67,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2299,
      "end": 2303,
      "loc": {
        "start": {
          "line": 67,
          "column": 39
        },
        "end": {
          "line": 67,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2303,
      "end": 2304,
      "loc": {
        "start": {
          "line": 67,
          "column": 43
        },
        "end": {
          "line": 67,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Parser",
      "start": 2305,
      "end": 2311,
      "loc": {
        "start": {
          "line": 67,
          "column": 45
        },
        "end": {
          "line": 67,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2311,
      "end": 2312,
      "loc": {
        "start": {
          "line": 67,
          "column": 51
        },
        "end": {
          "line": 67,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Factory",
      "start": 2312,
      "end": 2319,
      "loc": {
        "start": {
          "line": 67,
          "column": 52
        },
        "end": {
          "line": 67,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2319,
      "end": 2320,
      "loc": {
        "start": {
          "line": 67,
          "column": 59
        },
        "end": {
          "line": 67,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Started",
      "start": 2320,
      "end": 2327,
      "loc": {
        "start": {
          "line": 67,
          "column": 60
        },
        "end": {
          "line": 67,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2327,
      "end": 2328,
      "loc": {
        "start": {
          "line": 67,
          "column": 67
        },
        "end": {
          "line": 67,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "context",
      "start": 2329,
      "end": 2336,
      "loc": {
        "start": {
          "line": 67,
          "column": 69
        },
        "end": {
          "line": 67,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2337,
      "end": 2338,
      "loc": {
        "start": {
          "line": 67,
          "column": 77
        },
        "end": {
          "line": 67,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2338,
      "end": 2339,
      "loc": {
        "start": {
          "line": 67,
          "column": 78
        },
        "end": {
          "line": 67,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2339,
      "end": 2340,
      "loc": {
        "start": {
          "line": 67,
          "column": 79
        },
        "end": {
          "line": 67,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2353,
      "end": 2357,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2357,
      "end": 2358,
      "loc": {
        "start": {
          "line": 68,
          "column": 16
        },
        "end": {
          "line": 68,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tasks",
      "start": 2358,
      "end": 2363,
      "loc": {
        "start": {
          "line": 68,
          "column": 17
        },
        "end": {
          "line": 68,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2363,
      "end": 2364,
      "loc": {
        "start": {
          "line": 68,
          "column": 22
        },
        "end": {
          "line": 68,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "set",
      "start": 2364,
      "end": 2367,
      "loc": {
        "start": {
          "line": 68,
          "column": 23
        },
        "end": {
          "line": 68,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2367,
      "end": 2368,
      "loc": {
        "start": {
          "line": 68,
          "column": 26
        },
        "end": {
          "line": 68,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "context",
      "start": 2368,
      "end": 2375,
      "loc": {
        "start": {
          "line": 68,
          "column": 27
        },
        "end": {
          "line": 68,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2375,
      "end": 2376,
      "loc": {
        "start": {
          "line": 68,
          "column": 34
        },
        "end": {
          "line": 68,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2376,
      "end": 2378,
      "loc": {
        "start": {
          "line": 68,
          "column": 35
        },
        "end": {
          "line": 68,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2378,
      "end": 2379,
      "loc": {
        "start": {
          "line": 68,
          "column": 37
        },
        "end": {
          "line": 68,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "context",
      "start": 2380,
      "end": 2387,
      "loc": {
        "start": {
          "line": 68,
          "column": 39
        },
        "end": {
          "line": 68,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2387,
      "end": 2388,
      "loc": {
        "start": {
          "line": 68,
          "column": 46
        },
        "end": {
          "line": 68,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2388,
      "end": 2389,
      "loc": {
        "start": {
          "line": 68,
          "column": 47
        },
        "end": {
          "line": 68,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2402,
      "end": 2406,
      "loc": {
        "start": {
          "line": 69,
          "column": 12
        },
        "end": {
          "line": 69,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2406,
      "end": 2407,
      "loc": {
        "start": {
          "line": 69,
          "column": 16
        },
        "end": {
          "line": 69,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 2407,
      "end": 2413,
      "loc": {
        "start": {
          "line": 69,
          "column": 17
        },
        "end": {
          "line": 69,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2413,
      "end": 2414,
      "loc": {
        "start": {
          "line": 69,
          "column": 23
        },
        "end": {
          "line": 69,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emit",
      "start": 2414,
      "end": 2418,
      "loc": {
        "start": {
          "line": 69,
          "column": 24
        },
        "end": {
          "line": 69,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2418,
      "end": 2419,
      "loc": {
        "start": {
          "line": 69,
          "column": 28
        },
        "end": {
          "line": 69,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 2419,
      "end": 2423,
      "loc": {
        "start": {
          "line": 69,
          "column": 29
        },
        "end": {
          "line": 69,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2423,
      "end": 2424,
      "loc": {
        "start": {
          "line": 69,
          "column": 33
        },
        "end": {
          "line": 69,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "context",
      "start": 2425,
      "end": 2432,
      "loc": {
        "start": {
          "line": 69,
          "column": 35
        },
        "end": {
          "line": 69,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2432,
      "end": 2433,
      "loc": {
        "start": {
          "line": 69,
          "column": 42
        },
        "end": {
          "line": 69,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 2433,
      "end": 2435,
      "loc": {
        "start": {
          "line": 69,
          "column": 43
        },
        "end": {
          "line": 69,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2435,
      "end": 2436,
      "loc": {
        "start": {
          "line": 69,
          "column": 45
        },
        "end": {
          "line": 69,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 2437,
      "end": 2444,
      "loc": {
        "start": {
          "line": 69,
          "column": 47
        },
        "end": {
          "line": 69,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2444,
      "end": 2445,
      "loc": {
        "start": {
          "line": 69,
          "column": 54
        },
        "end": {
          "line": 69,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "factory",
      "start": 2446,
      "end": 2453,
      "loc": {
        "start": {
          "line": 69,
          "column": 56
        },
        "end": {
          "line": 69,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2453,
      "end": 2454,
      "loc": {
        "start": {
          "line": 69,
          "column": 63
        },
        "end": {
          "line": 69,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "classcad",
      "start": 2454,
      "end": 2462,
      "loc": {
        "start": {
          "line": 69,
          "column": 64
        },
        "end": {
          "line": 69,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2462,
      "end": 2463,
      "loc": {
        "start": {
          "line": 69,
          "column": 72
        },
        "end": {
          "line": 69,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2463,
      "end": 2464,
      "loc": {
        "start": {
          "line": 69,
          "column": 73
        },
        "end": {
          "line": 69,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2473,
      "end": 2474,
      "loc": {
        "start": {
          "line": 70,
          "column": 8
        },
        "end": {
          "line": 70,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2474,
      "end": 2475,
      "loc": {
        "start": {
          "line": 70,
          "column": 9
        },
        "end": {
          "line": 70,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2475,
      "end": 2476,
      "loc": {
        "start": {
          "line": 70,
          "column": 10
        },
        "end": {
          "line": 70,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "then",
      "start": 2476,
      "end": 2480,
      "loc": {
        "start": {
          "line": 70,
          "column": 11
        },
        "end": {
          "line": 70,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2480,
      "end": 2481,
      "loc": {
        "start": {
          "line": 70,
          "column": 15
        },
        "end": {
          "line": 70,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 2481,
      "end": 2488,
      "loc": {
        "start": {
          "line": 70,
          "column": 16
        },
        "end": {
          "line": 70,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2489,
      "end": 2491,
      "loc": {
        "start": {
          "line": 70,
          "column": 24
        },
        "end": {
          "line": 70,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2492,
      "end": 2493,
      "loc": {
        "start": {
          "line": 70,
          "column": 27
        },
        "end": {
          "line": 70,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 2506,
      "end": 2513,
      "loc": {
        "start": {
          "line": 71,
          "column": 12
        },
        "end": {
          "line": 71,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2513,
      "end": 2514,
      "loc": {
        "start": {
          "line": 71,
          "column": 19
        },
        "end": {
          "line": 71,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 2514,
      "end": 2521,
      "loc": {
        "start": {
          "line": 71,
          "column": 20
        },
        "end": {
          "line": 71,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2521,
      "end": 2522,
      "loc": {
        "start": {
          "line": 71,
          "column": 27
        },
        "end": {
          "line": 71,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "callback",
      "start": 2522,
      "end": 2530,
      "loc": {
        "start": {
          "line": 71,
          "column": 28
        },
        "end": {
          "line": 71,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2530,
      "end": 2531,
      "loc": {
        "start": {
          "line": 71,
          "column": 36
        },
        "end": {
          "line": 71,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2531,
      "end": 2532,
      "loc": {
        "start": {
          "line": 71,
          "column": 37
        },
        "end": {
          "line": 71,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "type",
      "start": 2533,
      "end": 2537,
      "loc": {
        "start": {
          "line": 71,
          "column": 39
        },
        "end": {
          "line": 71,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2537,
      "end": 2538,
      "loc": {
        "start": {
          "line": 71,
          "column": 43
        },
        "end": {
          "line": 71,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Parser",
      "start": 2539,
      "end": 2545,
      "loc": {
        "start": {
          "line": 71,
          "column": 45
        },
        "end": {
          "line": 71,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2545,
      "end": 2546,
      "loc": {
        "start": {
          "line": 71,
          "column": 51
        },
        "end": {
          "line": 71,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Factory",
      "start": 2546,
      "end": 2553,
      "loc": {
        "start": {
          "line": 71,
          "column": 52
        },
        "end": {
          "line": 71,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2553,
      "end": 2554,
      "loc": {
        "start": {
          "line": 71,
          "column": 59
        },
        "end": {
          "line": 71,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Finished",
      "start": 2554,
      "end": 2562,
      "loc": {
        "start": {
          "line": 71,
          "column": 60
        },
        "end": {
          "line": 71,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2562,
      "end": 2563,
      "loc": {
        "start": {
          "line": 71,
          "column": 68
        },
        "end": {
          "line": 71,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "context",
      "start": 2564,
      "end": 2571,
      "loc": {
        "start": {
          "line": 71,
          "column": 70
        },
        "end": {
          "line": 71,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2571,
      "end": 2572,
      "loc": {
        "start": {
          "line": 71,
          "column": 77
        },
        "end": {
          "line": 71,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 2573,
      "end": 2580,
      "loc": {
        "start": {
          "line": 71,
          "column": 79
        },
        "end": {
          "line": 71,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2581,
      "end": 2582,
      "loc": {
        "start": {
          "line": 71,
          "column": 87
        },
        "end": {
          "line": 71,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2582,
      "end": 2583,
      "loc": {
        "start": {
          "line": 71,
          "column": 88
        },
        "end": {
          "line": 71,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2583,
      "end": 2584,
      "loc": {
        "start": {
          "line": 71,
          "column": 89
        },
        "end": {
          "line": 71,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2597,
      "end": 2603,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "results",
      "start": 2604,
      "end": 2611,
      "loc": {
        "start": {
          "line": 72,
          "column": 19
        },
        "end": {
          "line": 72,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2611,
      "end": 2612,
      "loc": {
        "start": {
          "line": 72,
          "column": 26
        },
        "end": {
          "line": 72,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2621,
      "end": 2622,
      "loc": {
        "start": {
          "line": 73,
          "column": 8
        },
        "end": {
          "line": 73,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2622,
      "end": 2623,
      "loc": {
        "start": {
          "line": 73,
          "column": 9
        },
        "end": {
          "line": 73,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2623,
      "end": 2624,
      "loc": {
        "start": {
          "line": 73,
          "column": 10
        },
        "end": {
          "line": 73,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2629,
      "end": 2630,
      "loc": {
        "start": {
          "line": 74,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "request",
      "start": 2636,
      "end": 2643,
      "loc": {
        "start": {
          "line": 76,
          "column": 4
        },
        "end": {
          "line": 76,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2643,
      "end": 2644,
      "loc": {
        "start": {
          "line": 76,
          "column": 11
        },
        "end": {
          "line": 76,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 2644,
      "end": 2651,
      "loc": {
        "start": {
          "line": 76,
          "column": 12
        },
        "end": {
          "line": 76,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2651,
      "end": 2652,
      "loc": {
        "start": {
          "line": 76,
          "column": 19
        },
        "end": {
          "line": 76,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "factory",
      "start": 2653,
      "end": 2660,
      "loc": {
        "start": {
          "line": 76,
          "column": 21
        },
        "end": {
          "line": 76,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2661,
      "end": 2662,
      "loc": {
        "start": {
          "line": 76,
          "column": 29
        },
        "end": {
          "line": 76,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2663,
      "end": 2664,
      "loc": {
        "start": {
          "line": 76,
          "column": 31
        },
        "end": {
          "line": 76,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2664,
      "end": 2665,
      "loc": {
        "start": {
          "line": 76,
          "column": 32
        },
        "end": {
          "line": 76,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2665,
      "end": 2666,
      "loc": {
        "start": {
          "line": 76,
          "column": 33
        },
        "end": {
          "line": 76,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2667,
      "end": 2668,
      "loc": {
        "start": {
          "line": 76,
          "column": 35
        },
        "end": {
          "line": 76,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2669,
      "end": 2675,
      "loc": {
        "start": {
          "line": 76,
          "column": 37
        },
        "end": {
          "line": 76,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2676,
      "end": 2680,
      "loc": {
        "start": {
          "line": 76,
          "column": 44
        },
        "end": {
          "line": 76,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2680,
      "end": 2681,
      "loc": {
        "start": {
          "line": 76,
          "column": 48
        },
        "end": {
          "line": 76,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "requestByName",
      "start": 2681,
      "end": 2694,
      "loc": {
        "start": {
          "line": 76,
          "column": 49
        },
        "end": {
          "line": 76,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2694,
      "end": 2695,
      "loc": {
        "start": {
          "line": 76,
          "column": 62
        },
        "end": {
          "line": 76,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "send",
      "start": 2695,
      "end": 2701,
      "loc": {
        "start": {
          "line": 76,
          "column": 63
        },
        "end": {
          "line": 76,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2701,
      "end": 2702,
      "loc": {
        "start": {
          "line": 76,
          "column": 69
        },
        "end": {
          "line": 76,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 2703,
      "end": 2710,
      "loc": {
        "start": {
          "line": 76,
          "column": 71
        },
        "end": {
          "line": 76,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2710,
      "end": 2711,
      "loc": {
        "start": {
          "line": 76,
          "column": 78
        },
        "end": {
          "line": 76,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "factory",
      "start": 2712,
      "end": 2719,
      "loc": {
        "start": {
          "line": 76,
          "column": 80
        },
        "end": {
          "line": 76,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2719,
      "end": 2720,
      "loc": {
        "start": {
          "line": 76,
          "column": 87
        },
        "end": {
          "line": 76,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2721,
      "end": 2722,
      "loc": {
        "start": {
          "line": 76,
          "column": 89
        },
        "end": {
          "line": 76,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undo",
      "start": 2728,
      "end": 2732,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 78,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2732,
      "end": 2733,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "factory",
      "start": 2733,
      "end": 2740,
      "loc": {
        "start": {
          "line": 78,
          "column": 9
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2741,
      "end": 2742,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2743,
      "end": 2744,
      "loc": {
        "start": {
          "line": 78,
          "column": 19
        },
        "end": {
          "line": 78,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2744,
      "end": 2745,
      "loc": {
        "start": {
          "line": 78,
          "column": 20
        },
        "end": {
          "line": 78,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2745,
      "end": 2746,
      "loc": {
        "start": {
          "line": 78,
          "column": 21
        },
        "end": {
          "line": 78,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2747,
      "end": 2748,
      "loc": {
        "start": {
          "line": 78,
          "column": 23
        },
        "end": {
          "line": 78,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2749,
      "end": 2755,
      "loc": {
        "start": {
          "line": 78,
          "column": 25
        },
        "end": {
          "line": 78,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2756,
      "end": 2760,
      "loc": {
        "start": {
          "line": 78,
          "column": 32
        },
        "end": {
          "line": 78,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2760,
      "end": 2761,
      "loc": {
        "start": {
          "line": 78,
          "column": 36
        },
        "end": {
          "line": 78,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "requestByName",
      "start": 2761,
      "end": 2774,
      "loc": {
        "start": {
          "line": 78,
          "column": 37
        },
        "end": {
          "line": 78,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2774,
      "end": 2775,
      "loc": {
        "start": {
          "line": 78,
          "column": 50
        },
        "end": {
          "line": 78,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "undo",
      "start": 2775,
      "end": 2781,
      "loc": {
        "start": {
          "line": 78,
          "column": 51
        },
        "end": {
          "line": 78,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2781,
      "end": 2782,
      "loc": {
        "start": {
          "line": 78,
          "column": 57
        },
        "end": {
          "line": 78,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 2783,
      "end": 2792,
      "loc": {
        "start": {
          "line": 78,
          "column": 59
        },
        "end": {
          "line": 78,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2792,
      "end": 2793,
      "loc": {
        "start": {
          "line": 78,
          "column": 68
        },
        "end": {
          "line": 78,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "factory",
      "start": 2794,
      "end": 2801,
      "loc": {
        "start": {
          "line": 78,
          "column": 70
        },
        "end": {
          "line": 78,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2801,
      "end": 2802,
      "loc": {
        "start": {
          "line": 78,
          "column": 77
        },
        "end": {
          "line": 78,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2803,
      "end": 2804,
      "loc": {
        "start": {
          "line": 78,
          "column": 79
        },
        "end": {
          "line": 78,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "redo",
      "start": 2810,
      "end": 2814,
      "loc": {
        "start": {
          "line": 80,
          "column": 4
        },
        "end": {
          "line": 80,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2814,
      "end": 2815,
      "loc": {
        "start": {
          "line": 80,
          "column": 8
        },
        "end": {
          "line": 80,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "factory",
      "start": 2815,
      "end": 2822,
      "loc": {
        "start": {
          "line": 80,
          "column": 9
        },
        "end": {
          "line": 80,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2823,
      "end": 2824,
      "loc": {
        "start": {
          "line": 80,
          "column": 17
        },
        "end": {
          "line": 80,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2825,
      "end": 2826,
      "loc": {
        "start": {
          "line": 80,
          "column": 19
        },
        "end": {
          "line": 80,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2826,
      "end": 2827,
      "loc": {
        "start": {
          "line": 80,
          "column": 20
        },
        "end": {
          "line": 80,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2827,
      "end": 2828,
      "loc": {
        "start": {
          "line": 80,
          "column": 21
        },
        "end": {
          "line": 80,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2829,
      "end": 2830,
      "loc": {
        "start": {
          "line": 80,
          "column": 23
        },
        "end": {
          "line": 80,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2831,
      "end": 2837,
      "loc": {
        "start": {
          "line": 80,
          "column": 25
        },
        "end": {
          "line": 80,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 2838,
      "end": 2842,
      "loc": {
        "start": {
          "line": 80,
          "column": 32
        },
        "end": {
          "line": 80,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2842,
      "end": 2843,
      "loc": {
        "start": {
          "line": 80,
          "column": 36
        },
        "end": {
          "line": 80,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "requestByName",
      "start": 2843,
      "end": 2856,
      "loc": {
        "start": {
          "line": 80,
          "column": 37
        },
        "end": {
          "line": 80,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2856,
      "end": 2857,
      "loc": {
        "start": {
          "line": 80,
          "column": 50
        },
        "end": {
          "line": 80,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "redo",
      "start": 2857,
      "end": 2863,
      "loc": {
        "start": {
          "line": 80,
          "column": 51
        },
        "end": {
          "line": 80,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2863,
      "end": 2864,
      "loc": {
        "start": {
          "line": 80,
          "column": 57
        },
        "end": {
          "line": 80,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 2865,
      "end": 2874,
      "loc": {
        "start": {
          "line": 80,
          "column": 59
        },
        "end": {
          "line": 80,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2874,
      "end": 2875,
      "loc": {
        "start": {
          "line": 80,
          "column": 68
        },
        "end": {
          "line": 80,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "factory",
      "start": 2876,
      "end": 2883,
      "loc": {
        "start": {
          "line": 80,
          "column": 70
        },
        "end": {
          "line": 80,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2883,
      "end": 2884,
      "loc": {
        "start": {
          "line": 80,
          "column": 77
        },
        "end": {
          "line": 80,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2885,
      "end": 2886,
      "loc": {
        "start": {
          "line": 80,
          "column": 79
        },
        "end": {
          "line": 80,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "static",
      "start": 2892,
      "end": 2898,
      "loc": {
        "start": {
          "line": 82,
          "column": 4
        },
        "end": {
          "line": 82,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_ack",
      "start": 2899,
      "end": 2903,
      "loc": {
        "start": {
          "line": 82,
          "column": 11
        },
        "end": {
          "line": 82,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2903,
      "end": 2904,
      "loc": {
        "start": {
          "line": 82,
          "column": 15
        },
        "end": {
          "line": 82,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 2904,
      "end": 2910,
      "loc": {
        "start": {
          "line": 82,
          "column": 16
        },
        "end": {
          "line": 82,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2910,
      "end": 2911,
      "loc": {
        "start": {
          "line": 82,
          "column": 22
        },
        "end": {
          "line": 82,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2912,
      "end": 2913,
      "loc": {
        "start": {
          "line": 82,
          "column": 24
        },
        "end": {
          "line": 82,
          "column": 25
        }
      }
    },
    {
      "type": "CommentLine",
      "value": "if (socket.io.engine.transport.name !== 'websocket');",
      "start": 2922,
      "end": 2977,
      "loc": {
        "start": {
          "line": 83,
          "column": 8
        },
        "end": {
          "line": 83,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 2986,
      "end": 2992,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2993,
      "end": 2995,
      "loc": {
        "start": {
          "line": 84,
          "column": 15
        },
        "end": {
          "line": 84,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "socket",
      "start": 2996,
      "end": 3002,
      "loc": {
        "start": {
          "line": 84,
          "column": 18
        },
        "end": {
          "line": 84,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3002,
      "end": 3003,
      "loc": {
        "start": {
          "line": 84,
          "column": 24
        },
        "end": {
          "line": 84,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emit",
      "start": 3003,
      "end": 3007,
      "loc": {
        "start": {
          "line": 84,
          "column": 25
        },
        "end": {
          "line": 84,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3007,
      "end": 3008,
      "loc": {
        "start": {
          "line": 84,
          "column": 29
        },
        "end": {
          "line": 84,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "received",
      "start": 3008,
      "end": 3018,
      "loc": {
        "start": {
          "line": 84,
          "column": 30
        },
        "end": {
          "line": 84,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3018,
      "end": 3019,
      "loc": {
        "start": {
          "line": 84,
          "column": 40
        },
        "end": {
          "line": 84,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3019,
      "end": 3020,
      "loc": {
        "start": {
          "line": 84,
          "column": 41
        },
        "end": {
          "line": 84,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3025,
      "end": 3026,
      "loc": {
        "start": {
          "line": 85,
          "column": 4
        },
        "end": {
          "line": 85,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3027,
      "end": 3028,
      "loc": {
        "start": {
          "line": 86,
          "column": 0
        },
        "end": {
          "line": 86,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3029,
      "end": 3029,
      "loc": {
        "start": {
          "line": 87,
          "column": 0
        },
        "end": {
          "line": 87,
          "column": 0
        }
      }
    }
  ]
}