[
  {
    "path": ".gitignore",
    "content": "*.pyc\n"
  },
  {
    "path": "LINETCR/Api/LineTracer.py",
    "content": "# -*- coding: utf-8 -*-\r\n\r\nfrom .LineClient import LineClient\r\nfrom types import *\r\nfrom ..lib.curve.ttypes import OpType\r\nfrom ..Net.LineServer import url\r\n\r\n\r\nclass LineTracer(object):\r\n    OpInterrupt = {}\r\n    client = None\r\n\r\n    def __init__(self, client):\r\n        if type(client) is not LineClient:\r\n            raise Exception(\r\n                \"You need to set LineClient instance to initialize LineTracer\")\r\n\r\n        self.client = client\r\n        self.client.endPoint(url.LONG_POLLING)\r\n\r\n    def addOpInterruptWithDict(self, OpInterruptDict):\r\n        \"\"\"To add Operation with Callback function {Optype.NOTIFIED_INTO_GROUP: func}\"\"\"\r\n        self.OpInterrupt.update(OpInterruptDict)\r\n\r\n    def addOpInterrupt(self, OperationType, DisposeFunc):\r\n        self.OpInterrupt[OperationType] = DisposeFunc\r\n\r\n    def execute(self):\r\n        try:\r\n            operations = self.client.fetchOperation(self.client.revision, 10)\r\n            #print \"=======================================================\"\r\n            # print operations\r\n            #print \"=======================================================\"\r\n        except EOFError:\r\n            return\r\n        except KeyboardInterrupt:\r\n            exit()\r\n        except:\r\n            return\r\n\r\n        for op in operations:\r\n            if op.type in self.OpInterrupt.keys():\r\n                #print \"=======================================================\"\r\n                #print str(op.type) + \"[\" + str(op) + \"]\"\r\n                #print \"=======================================================\"\r\n                self.OpInterrupt[op.type](op)\r\n\r\n            self.client.revision = max(op.revision, self.client.revision)\r\n"
  },
  {
    "path": "LINETCR/Api/Poll.py",
    "content": "import os, sys, time\npath = os.path.join(os.path.dirname(__file__), '../lib/')\nsys.path.insert(0, path)\n\nfrom thrift.transport import THttpClient\nfrom thrift.protocol import TCompactProtocol\n\nfrom curve import LineService\nfrom curve.ttypes import *\n\nclass Poll:\n\n  client = None\n\n  auth_query_path = \"/api/v4/TalkService.do\";\n  http_query_path = \"/S4\";\n  polling_path = \"/P4\";\n  host = \"gd2.line.naver.jp\";\n  port = 443;\n\n  UA = \"Line/6.0.0 iPad4,1 9.0.2\"\n  LA = \"DESKTOPMAC 10.10.2-YOSEMITE-x64    MAC 4.5.0\"\n\n  rev = 0\n\n  def __init__(self, authToken):\n    self.transport = THttpClient.THttpClient('https://gd2.line.naver.jp:443'+ self.http_query_path)\n    self.transport.setCustomHeaders({\n      \"User-Agent\" : self.UA,\n      \"X-Line-Application\" : self.LA,\n      \"X-Line-Access\": authToken\n    });\n    self.protocol = TCompactProtocol.TCompactProtocol(self.transport);\n    self.client = LineService.Client(self.protocol)\n    self.rev = self.client.getLastOpRevision()\n    self.transport.path = self.polling_path\n    self.transport.open()\n\n  def stream(self, sleep=50000):\n    #usleep = lambda x: time.sleep(x/1000000.0)\n    while True:\n      try:\n        Ops = self.client.fetchOps(self.rev, 5)\n      except EOFError:\n        raise Exception(\"It might be wrong revision\\n\" + str(self.rev))\n\n      for Op in Ops:\n          # print Op.type\n        if (Op.type != OpType.END_OF_OPERATION):\n          self.rev = max(self.rev, Op.revision)\n          return Op\n\n      #usleep(sleep)\n"
  },
  {
    "path": "LINETCR/Api/Talk.py",
    "content": "# -*- coding: utf-8 -*-\nimport os, sys\npath = os.path.join(os.path.dirname(__file__), '../lib/')\nsys.path.insert(0, path)\n\nimport requests, rsa\n\nfrom thrift.transport import THttpClient\nfrom thrift.protocol import TCompactProtocol\n\nfrom curve import LineService\nfrom curve.ttypes import *\n\nclass Talk:\n  client = None\n\n  auth_query_path = \"/api/v4/TalkService.do\";\n  http_query_path = \"/S4\";\n  wait_for_mobile_path = \"/Q\";\n  host = \"gd2.line.naver.jp\";\n  port = 443;\n\n  UA = \"Line/6.0.0 iPad4,1 9.0.2\"\n  LA = \"DESKTOPMAC 10.10.2-YOSEMITE-x64    MAC 4.5.0\"\n\n  authToken = None\n  cert = None\n\n  def __init__(self):\n    self.transport = THttpClient.THttpClient('https://gd2.line.naver.jp:443'+self.auth_query_path)\n    self.transport.setCustomHeaders({\n      \"User-Agent\" : self.UA,\n      \"X-Line-Application\" : self.LA,\n    })\n    self.transport.open()\n    self.protocol = TCompactProtocol.TCompactProtocol(self.transport);\n    self.client = LineService.Client(self.protocol)\n\n  def login(self, mail, passwd, cert=None, callback=None):\n    self.transport.path = self.auth_query_path\n    rsakey = self.client.getRSAKeyInfo(IdentityProvider.LINE)\n    crypt = self.__crypt(mail, passwd, rsakey)\n\n    result = self.client.loginWithIdentityCredentialForCertificate(\n      IdentityProvider.LINE,\n      rsakey.keynm,\n      crypt,\n      True,\n      '127.0.0.1',\n      'http://dg.b9dm.com/KoenoKatachi.mp4',\n      cert\n    )\n\n    if result.type == 3:\n      callback(result.pinCode)\n      header = {\"X-Line-Access\": result.verifier}\n      r = requests.get(url=\"https://\" + self.host + self.wait_for_mobile_path, headers=header)\n\n      result = self.client.loginWithVerifierForCerificate(r.json()[\"result\"][\"verifier\"])\n      self.transport.setCustomHeaders({\n\t\t\t \"X-Line-Application\" : self.LA,\n\t\t\t \"User-Agent\" : self.UA,\n       \"X-Line-Access\" : result.authToken\n      })\n\n      self.authToken = result.authToken\n      self.cert = result.certificate\n      self.transport.path = self.http_query_path\n\n    elif result.type == 1:\n      self.authToken = result.authToken\n      self.cert = result.certificate\n      self.transport.setCustomHeaders({\n\t\t\t \"X-Line-Application\" : self.LA,\n\t\t\t \"User-Agent\" : self.UA,\n       \"X-Line-Access\" : result.authToken\n      })\n      self.transport.path = self.http_query_path\n\n  def TokenLogin(self, authToken):\n    self.transport.setCustomHeaders({\n\t\t\t\"X-Line-Application\" : self.LA,\n\t\t\t\"User-Agent\" : self.UA,\n      \"X-Line-Access\" : authToken,\n    })\n    self.authToken = authToken\n    self.transport.path = self.http_query_path\n\n  def qrLogin(self, callback):\n    self.transport.path = self.auth_query_path\n\n    qr = self.client.getAuthQrcode(True, \"Bot\")\n    callback(\"Copy to Line and Click\\nYour LINK QR is: line://au/q/\" + qr.verifier)\n\n    r = requests.get(\"https://\" + self.host + self.wait_for_mobile_path, headers={\n      \"X-Line-Application\": self.LA,\n      \"X-Line-Access\": qr.verifier,\n    })\n\n    vr = r.json()[\"result\"][\"verifier\"]\n    lr = self.client.loginWithVerifierForCerificate(vr)\n    self.transport.setCustomHeaders({\n\t\t\t\"X-Line-Application\" : self.LA,\n\t\t\t\"User-Agent\" : self.UA,\n      \"X-Line-Access\": lr.authToken\n    })\n    self.authToken = lr.authToken\n    self.cert = lr.certificate\n    self.transport.path = self.http_query_path\n\n\n  def __crypt(self, mail, passwd, RSA):\n    message = (chr(len(RSA.sessionKey)) + RSA.sessionKey +\n                   chr(len(mail)) + mail +\n                   chr(len(passwd)) + passwd).encode('utf-8')\n\n    pub_key = rsa.PublicKey(int(RSA.nvalue, 16), int(RSA.evalue, 16))\n    crypto = rsa.encrypt(message, pub_key).encode('hex')\n\n    return crypto\n"
  },
  {
    "path": "LINETCR/Api/__init__.py",
    "content": "from Talk import Talk\nfrom Poll import Poll\nfrom channel import Channel\n"
  },
  {
    "path": "LINETCR/Api/channel.py",
    "content": "# -*- coding: utf-8 -*-\nimport os, sys, json\npath = os.path.join(os.path.dirname(__file__), '../lib/')\nsys.path.insert(0, path)\nimport requests\n\nfrom thrift.transport import THttpClient\nfrom thrift.protocol import TCompactProtocol\n\nfrom curve import LineService\nfrom curve.ttypes import *\nimport tempfile\n\nclass Channel:\n    client = None\n\n    host = \"gd2.line.naver.jp\"\n    http_query_path = \"/S4\"\n    channel_query_path = \"/CH4\"\n\n    UA = \"Line/6.0.0 iPad4,1 9.0.2\"\n    LA = \"DESKTOPMAC 10.10.2-YOSEMITE-x64    MAC 4.5.0\"\n\n    authToken = None\n    mid = None\n    channel_access_token = None\n    token = None\n    obs_token = None\n    refresh_token = None\n\n    def __init__(self, authToken):\n        self.authToken = authToken\n        self.transport = THttpClient.THttpClient('https://gd2.line.naver.jp:443'+self.http_query_path)\n        self.transport.setCustomHeaders({ \"User-Agent\" : self.UA,\n        \"X-Line-Application\" : self.LA,\n        \"X-Line-Access\": self.authToken\n        })\n        self.transport.open()\n        self.protocol = TCompactProtocol.TCompactProtocol(self.transport)\n        self.client = LineService.Client(self.protocol)\n        self.mid = self.client.getProfile().mid\n        self.transport.path = self.channel_query_path\n\n    def login(self):\n        result = self.client.issueChannelToken(\"1341209950\")\n\n        self.channel_access_token = result.channelAccessToken\n        self.token = result.token\n        self.obs_token = result.obsToken\n        self.refresh_token = result.refreshToken\n\n        print \"channelAccessToken:\" + result.channelAccessToken\n        print \"token:\" + result.token\n        print \"obs_token:\" + result.obsToken\n        print \"refreshToken:\" + result.refreshToken\n\n    def new_post(self, text):\n\n        header = {\n            \"Content-Type\": \"application/json\",\n            \"User-Agent\" : self.UA,\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\" : self.channel_access_token,\n        }\n\n        payload = {\n            \"postInfo\" : { \"readPermission\" : { \"type\" : \"ALL\" } },\n            \"sourceType\" : \"TIMELINE\",\n            \"contents\" : { \"text\" : text }\n        }\n\n        r = requests.post(\n            \"http://\" + self.host + \"/mh/api/v24/post/create.json\",\n            headers = header,\n            data = json.dumps(payload)\n        )\n\n        return r.json()\n\n    def postPhoto(self,text,path):\n        header = {\n            \"Content-Type\": \"application/json\",\n            \"User-Agent\" : self.UA,\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\" : self.channel_access_token,\n        }\n\n        payload = {\n            \"postInfo\" : { \"readPermission\" : { \"type\" : \"ALL\" } },\n            \"sourceType\" : \"TIMELINE\",\n            \"contents\" : { \"text\" : text ,\"media\" :  [{u'objectId': u'F57144CF9ECC4AD2E162E68554D1A8BD1a1ab0t04ff07f6'}]}\n        }\n        r = requests.post(\n            \"http://\" + self.host + \"/mh/api/v24/post/create.json\",\n            headers = header,\n            data = json.dumps(payload)\n        )\n\n        return r.json()\n\n    def like(self, mid, postid, likeType=1001):\n\n        header = {\n            \"Content-Type\" : \"application/json\",\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\" : self.channel_access_token,\n        }\n\n        payload = {\n            \"likeType\" : likeType,\n            \"activityExternalId\" : postid,\n            \"actorId\" : mid\n        }\n\n        r = requests.post(\n            \"http://\" + self.host + \"/mh/api/v23/like/create.json?homeId=\" + mid,\n            headers = header,\n            data = json.dumps(payload)\n        )\n\n        return r.json()\n\n    def comment(self, mid, postid, text):\n        header = {\n            \"Content-Type\" : \"application/json\",\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\" : self.channel_access_token,\n        }\n\n        payload = {\n            \"commentText\" : text,\n            \"activityExternalId\" : postid,\n            \"actorId\" : mid\n        }\n\n        r = requests.post(\n            \"http://\" + self.host + \"/mh/api/v23/comment/create.json?homeId=\" + mid,\n            headers = header,\n            data = json.dumps(payload)\n        )\n\n        return r.json()\n\n    def activity(self, limit=20):\n\n        header = {\n            \"Content-Type\" : \"application/json\",\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\" : self.channel_access_token,\n        }\n\n        r = requests.get(\n            \"http://\" + self.host + \"/tl/mapi/v21/activities?postLimit=\" + str(limit),\n            headers = header\n        )\n        return r.json()\n    def getAlbum(self, gid):\n\n        header = {\n            \"Content-Type\" : \"application/json\",\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\": self.channel_access_token,\n\n        }\n\n        r = requests.get(\n            \"http://\" + self.host + \"/mh/album/v3/albums?type=g&sourceType=TALKROOM&homeId=\" + gid,\n            headers = header\n        )\n        return r.json()\n    def changeAlbumName(self,gid,name,albumId):\n        header = {\n            \"Content-Type\" : \"application/json\",\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\": self.channel_access_token,\n\n        }\n        payload = {\n            \"title\": name\n        }\n        r = requests.put(\n            \"http://\" + self.host + \"/mh/album/v3/album/\" + albumId + \"?homeId=\" + gid,\n            headers = header,\n            data = json.dumps(payload),\n        )\n        return r.json()\n    def deleteAlbum(self,gid,albumId):\n        header = {\n            \"Content-Type\" : \"application/json\",\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\": self.channel_access_token,\n\n        }\n        r = requests.delete(\n            \"http://\" + self.host + \"/mh/album/v3/album/\" + albumId + \"?homeId=\" + gid,\n            headers = header,\n            )\n        return r.json()\n    def getNote(self,gid, commentLimit, likeLimit):\n        header = {\n            \"Content-Type\" : \"application/json\",\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\": self.channel_access_token,\n\n        }\n        r = requests.get(\n            \"http://\" + self.host + \"/mh/api/v27/post/list.json?homeId=\" + gid + \"&commentLimit=\" + commentLimit + \"&sourceType=TALKROOM&likeLimit=\" + likeLimit,\n            headers = header\n        )\n        return r.json()\n\n    def postNote(self, gid, text):\n        header = {\n            \"Content-Type\": \"application/json\",\n            \"User-Agent\" : self.UA,\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\" : self.channel_access_token,\n        }\n        payload = {\"postInfo\":{\"readPermission\":{\"homeId\":gid}},\n                   \"sourceType\":\"GROUPHOME\",\n                   \"contents\":{\"text\":text}\n                   }\n        r = requests.post(\n            \"http://\" + self.host + \"/mh/api/v27/post/create.json\",\n            headers = header,\n            data = json.dumps(payload)\n            )\n        return r.json()\n\n    def getDetail(self, mid):\n        header = {\n            \"Content-Type\": \"application/json\",\n            \"User-Agent\" : self.UA,\n            \"X-Line-Mid\" : self.mid,\n            \"x-lct\" : self.channel_access_token,\n        }\n\n        r = requests.get(\n        \"http://\" + self.host + \"/ma/api/v1/userpopup/getDetail.json?userMid=\" + mid,\n        headers = header\n        )\n        return r.json()\n\n    def getHome(self,mid):\n        header = {\n                    \"Content-Type\": \"application/json\",\n                    \"User-Agent\" : self.UA,\n                    \"X-Line-Mid\" : self.mid,\n                    \"x-lct\" : self.channel_access_token,\n        }\n\n        r = requests.get(\n        \"http://\" + self.host + \"/mh/api/v27/post/list.json?homeId=\" + mid + \"&commentLimit=2&sourceType=LINE_PROFILE_COVER&likeLimit=6\",\n        headers = header\n        )\n        return r.json()\n    def getCover(self,mid):\n        h = self.getHome(mid)\n        objId = h[\"result\"][\"homeInfo\"][\"objectId\"]\n        return \"http://dl.profile.line-cdn.net/myhome/c/download.nhn?userid=\" + mid + \"&oid=\" + objId\n    def createAlbum(self,gid,name):\n        header = {\n                    \"Content-Type\": \"application/json\",\n                    \"User-Agent\" : self.UA,\n                    \"X-Line-Mid\" : self.mid,\n                    \"x-lct\" : self.channel_access_token,\n        }\n        payload = {\n                \"type\" : \"image\",\n                \"title\" : name\n        }\n        r = requests.post(\n            \"http://\" + self.host + \"/mh/album/v3/album?count=1&auto=0&homeId=\" + gid,\n            headers = header,\n            data = json.dumps(payload)\n        )\n        return r.json()\n\n    def createAlbum2(self,gid,name,path,oid):\n        header = {\n                    \"Content-Type\": \"application/json\",\n                    \"User-Agent\" : self.UA,\n                    \"X-Line-Mid\" : self.mid,\n                    \"x-lct\" : self.channel_access_token,\n        }\n        payload = {\n                \"type\" : \"image\",\n                \"title\" : name\n        }\n        r = requests.post(\n            \"http://\" + self.host + \"/mh/album/v3/album?count=1&auto=0&homeId=\" + gid,\n            headers = header,\n            data = json.dumps(payload)\n        )\n        #albumId = r.json()[\"result\"][\"items\"][0][\"id\"]\n\n\n        #h = {\n        #            \"Content-Type\": \"application/x-www-form-urlencoded\",\n        #            \"User-Agent\" : self.UA,\n        #            \"X-Line-Mid\" : gid,\n        #            \"X-Line-Album\" : albumId,\n        #            \"x-lct\" : self.channel_access_token,\n                    #\"x-obs-host\" : \"obs-jp.line-apps.com:443\",\n\n        #}\n        #print r.json()\n        #files = {\n        #    'file': open(path, 'rb'),\n        #}\n        #p = {\n        #    \"userid\" : gid,\n        #    \"type\" : \"image\",\n        #    \"oid\" : oid,\n        #    \"ver\" : \"1.0\"\n        #}\n        #data = {\n        #    'params': json.dumps(p)\n        #}\n        #r = requests.post(\n        #\"http://obs-jp.line-apps.com/oa/album/a/object_info.nhn:443\",\n        #headers = h,\n        #data = data,\n        #files = files\n        #)\n        return r.json()\n        #cl.createAlbum(\"cea9d61ba824e937aaf91637991ac934b\",\"ss3ai\",\"kawamuki.png\")\n"
  },
  {
    "path": "LINETCR/LineApi.py",
    "content": "# -*- coding: utf-8 -*-\nfrom Api import Poll, Talk, channel\nfrom lib.curve.ttypes import *\n\ndef def_callback(str):\n    print(str)\n\nclass LINE:\n\n  mid = None\n  authToken = None\n  cert = None\n  channel_access_token = None\n  token = None\n  obs_token = None\n  refresh_token = None\n\n\n  def __init__(self):\n    self.Talk = Talk()\n\n  def login(self, mail=None, passwd=None, cert=None, token=None, qr=False, callback=None):\n    if callback is None:\n      callback = def_callback\n    resp = self.__validate(mail,passwd,cert,token,qr)\n    if resp == 1:\n      self.Talk.login(mail, passwd, callback=callback)\n    elif resp == 2:\n      self.Talk.login(mail,passwd,cert, callback=callback)\n    elif resp == 3:\n      self.Talk.TokenLogin(token)\n    elif resp == 4:\n      self.Talk.qrLogin(callback)\n    else:\n      raise Exception(\"invalid arguments\")\n\n    self.authToken = self.Talk.authToken\n    self.cert = self.Talk.cert\n    self._headers = {\n              'X-Line-Application': 'DESKTOPMAC 10.10.2-YOSEMITE-x64    MAC 4.5.0', \n              'X-Line-Access': self.authToken, \n              'User-Agent': 'Line/6.0.0 iPad4,1 9.0.2'\n   }\n    self.Poll = Poll(self.authToken)\n    self.channel = channel.Channel(self.authToken)\n    self.channel.login()\t\n    self.mid = self.channel.mid\n    self.channel_access_token = self.channel.channel_access_token\n    self.token = self.channel.token\n    self.obs_token = self.channel.obs_token\n    self.refresh_token = self.channel.refresh_token\n\n\n  \"\"\"User\"\"\"\n\n  def getProfile(self):\n    return self.Talk.client.getProfile()\n\n  def getSettings(self):\n    return self.Talk.client.getSettings()\n\n  def getUserTicket(self):\n    return self.Talk.client.getUserTicket()\n\n  def updateProfile(self, profileObject):\n    return self.Talk.client.updateProfile(0, profileObject)\n\n  def updateSettings(self, settingObject):\n    return self.Talk.client.updateSettings(0, settingObject)\n\n\n  \"\"\"Operation\"\"\"\n\n  def fetchOperation(self, revision, count):\n        return self.Poll.client.fetchOperations(revision, count)\n\n  def fetchOps(self, rev, count):\n        return self.Poll.client.fetchOps(rev, count, 0, 0)\n\n  def getLastOpRevision(self):\n        return self.Talk.client.getLastOpRevision()\n\n  def stream(self):\n        return self.Poll.stream()\n\n  \"\"\"Message\"\"\"\n\n  def sendMessage(self, messageObject):\n        return self.Talk.client.sendMessage(0,messageObject)\n\n  def sendText(self, Tomid, text):\n        msg = Message()\n        msg.to = Tomid\n        msg.text = text\n\n        return self.Talk.client.sendMessage(0, msg)\n  def post_content(self, url, data=None, files=None):\n        return self._session.post(url, headers=self._headers, data=data, files=files)\n\n  def sendImage(self, to_, path):\n        M = Message(to=to_, text=None, contentType = 1)\n        M.contentMetadata = None\n        M.contentPreview = None\n        M_id = self.Talk.client.sendMessage(0,M).id\n        files = {\n            'file': open(path, 'rb'),\n        }\n        params = {\n            'name': 'media',\n            'oid': M_id,\n            'size': len(open(path, 'rb').read()),\n            'type': 'image',\n            'ver': '1.0',\n        }\n        data = {\n            'params': json.dumps(params)            \n        }       \n\n        r = self.post_content('https://os.line.naver.jp/talk/m/upload.nhn', data=data, files=files)\n        print r\n        if r.status_code != 201:\n            raise Exception('Upload image failure.')\n        return True\n\n  def sendImageWithURL(self, to_, url):\n        \"\"\"Send a image with given image url\n\n        :param url: image url to send\n        \"\"\"\n        path = 'tmp/pythonLine.data'\n\n        r = requests.get(url, stream=True)\n        if r.status_code == 200:\n            with open(path, 'w') as f:\n                shutil.copyfileobj(r.raw, f)\n        else:\n            raise Exception('Download image failure.')\n\n        try:\n            self.sendImage(to_, path)\n        except Exception as e:\n            raise e\n\t\t\t\n  def sendEvent(self, messageObject):\n        return self._client.sendEvent(0, messageObject)\n\n  def sendChatChecked(self, mid, lastMessageId):\n        return self.Talk.client.sendChatChecked(0, mid, lastMessageId)\n\n  def getMessageBoxCompactWrapUp(self, mid):\n        return self.Talk.client.getMessageBoxCompactWrapUp(mid)\n\n  def getMessageBoxCompactWrapUpList(self, start, messageBox):\n        return self.Talk.client.getMessageBoxCompactWrapUpList(start, messageBox)\n\n  def getRecentMessages(self, messageBox, count):\n        return self.Talk.client.getRecentMessages(messageBox.id, count)\n\n  def getMessageBox(self, channelId, messageboxId, lastMessagesCount):\n        return self.Talk.client.getMessageBox(channelId, messageboxId, lastMessagesCount)\n\n  def getMessageBoxList(self, channelId, lastMessagesCount):\n        return self.Talk.client.getMessageBoxList(channelId, lastMessagesCount)\n\n  def getMessageBoxListByStatus(self, channelId, lastMessagesCount, status):\n        return self.Talk.client.getMessageBoxListByStatus(channelId, lastMessagesCount, status)\n\n  def getMessageBoxWrapUp(self, mid):\n        return self.Talk.client.getMessageBoxWrapUp(mid)\n\n  def getMessageBoxWrapUpList(self, start, messageBoxCount):\n        return self.Talk.client.getMessageBoxWrapUpList(start, messageBoxCount)\n\n  \"\"\"Contact\"\"\"\n\n\n  def blockContact(self, mid):\n        return self.Talk.client.blockContact(0, mid)\n\n\n  def unblockContact(self, mid):\n        return self.Talk.client.unblockContact(0, mid)\n\n\n  def findAndAddContactsByMid(self, mid):\n        return self.Talk.client.findAndAddContactsByMid(0, mid)\n\n\n  def findAndAddContactsByMids(self, midlist):\n        for i in midlist:\n            self.Talk.client.findAndAddContactsByMid(0, i)\n\n  def findAndAddContactsByUserid(self, userid):\n        return self.Talk.client.findAndAddContactsByUserid(0, userid)\n\n  def findContactsByUserid(self, userid):\n        return self.Talk.client.findContactByUserid(userid)\n\n  def findContactByTicket(self, ticketId):\n        return self.Talk.client.findContactByUserTicket(ticketId)\n\n  def getAllContactIds(self):\n        return self.Talk.client.getAllContactIds()\n\n  def getBlockedContactIds(self):\n        return self.Talk.client.getBlockedContactIds()\n\n  def getContact(self, mid):\n        return self.Talk.client.getContact(mid)\n\n  def getContacts(self, midlist):\n        return self.Talk.client.getContacts(midlist)\n\n  def getFavoriteMids(self):\n        return self.Talk.client.getFavoriteMids()\n\n  def getHiddenContactMids(self):\n        return self.Talk.client.getHiddenContactMids()\n\n\n  \"\"\"Group\"\"\"\n\n  def findGroupByTicket(self, ticketId):\n        return self.Talk.client.findGroupByTicket(ticketId)\n\n  def acceptGroupInvitation(self, groupId):\n        return self.Talk.client.acceptGroupInvitation(0, groupId)\n\n  def acceptGroupInvitationByTicket(self, groupId, ticketId):\n        return self.Talk.client.acceptGroupInvitationByTicket(0, groupId, ticketId)\n\n  def cancelGroupInvitation(self, groupId, contactIds):\n        return self.Talk.client.cancelGroupInvitation(0, groupId, contactIds)\n\n  def createGroup(self, name, midlist):\n        return self.Talk.client.createGroup(0, name, midlist)\n\n  def getGroup(self, groupId):\n        return self.Talk.client.getGroup(groupId)\n\n  def getGroups(self, groupIds):\n        return self.Talk.client.getGroups(groupIds)\n\n  def getGroupIdsInvited(self):\n        return self.Talk.client.getGroupIdsInvited()\n\n  def getGroupIdsJoined(self):\n        return self.Talk.client.getGroupIdsJoined()\n\n  def inviteIntoGroup(self, groupId, midlist):\n        return self.Talk.client.inviteIntoGroup(0, groupId, midlist)\n\n  def kickoutFromGroup(self, groupId, midlist):\n        return self.Talk.client.kickoutFromGroup(0, groupId, midlist)\n\n  def leaveGroup(self, groupId):\n        return self.Talk.client.leaveGroup(0, groupId)\n\n  def rejectGroupInvitation(self, groupId):\n        return self.Talk.client.rejectGroupInvitation(0, groupId)\n\n  def reissueGroupTicket(self, groupId):\n        return self.Talk.client.reissueGroupTicket(groupId)\n\n  def updateGroup(self, groupObject):\n        return self.Talk.client.updateGroup(0, groupObject)\n  def findGroupByTicket(self,ticketId):\n        return self.Talk.client.findGroupByTicket(0,ticketId)\n\n  \"\"\"Room\"\"\"\n\n  def createRoom(self, midlist):\n    return self.Talk.client.createRoom(0, midlist)\n\n  def getRoom(self, roomId):\n    return self.Talk.client.getRoom(roomId)\n\n  def inviteIntoRoom(self, roomId, midlist):\n    return self.Talk.client.inviteIntoRoom(0, roomId, midlist)\n\n  def leaveRoom(self, roomId):\n    return self.Talk.client.leaveRoom(0, roomId)\n\n  \"\"\"TIMELINE\"\"\"\n\n  def new_post(self, text):\n    return self.channel.new_post(text)\n\n  def like(self, mid, postid, likeType=1001):\n    return self.channel.like(mid, postid, likeType)\n\n  def comment(self, mid, postid, text):\n    return self.channel.comment(mid, postid, text)\n\n  def activity(self, limit=20):\n    return self.channel.activity(limit)\n\n  def getAlbum(self, gid):\n\n      return self.channel.getAlbum(gid)\n  def changeAlbumName(self, gid, name, albumId):\n      return self.channel.changeAlbumName(gid, name, albumId)\n\n  def deleteAlbum(self, gid, albumId):\n      return self.channel.deleteAlbum(gid,albumId)\n\n  def getNote(self,gid, commentLimit, likeLimit):\n      return self.channel.getNote(gid, commentLimit, likeLimit)\n\n  def getDetail(self,mid):\n      return self.channel.getDetail(mid)\n\n  def getHome(self,mid):\n      return self.channel.getHome(mid)\n\n  def createAlbum(self, gid, name):\n      return self.channel.createAlbum(gid,name)\n\n  def createAlbum2(self, gid, name, path):\n      return self.channel.createAlbum(gid, name, path, oid)\n\n\n  def __validate(self, mail, passwd, cert, token, qr):\n    if mail is not None and passwd is not None and cert is None:\n      return 1\n    elif mail is not None and passwd is not None and cert is not None:\n      return 2\n    elif token is not None:\n      return 3\n    elif qr is True:\n      return 4\n    else:\n      return 5\n\n  def loginResult(self, callback=None):\n    if callback is None:\n      callback = def_callback\n\n      prof = self.getProfile()\n\n      print(\"MikanBOT\")\n      print(\"mid -> \" + prof.mid)\n      print(\"name -> \" + prof.displayName)\n      print(\"authToken -> \" + self.authToken)\n      print(\"cert -> \" + self.cert if self.cert is not None else \"\")\n"
  },
  {
    "path": "LINETCR/__init__.py",
    "content": "# -*- coding: utf-8 -*-\nfrom LineApi import LINE\nfrom lib.curve.ttypes import *\n"
  },
  {
    "path": "LINETCR/lib/__init__.py",
    "content": "# -*- coding: utf-8 -*-"
  },
  {
    "path": "LINETCR/lib/curve/LineService.py",
    "content": "#\n# Autogenerated by Thrift Compiler (0.9.3)\n#\n# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n#\n#  options string: py\n#\n\nfrom thrift.Thrift import TType, TMessageType, TException, TApplicationException\nimport logging\nfrom ttypes import *\nfrom thrift.Thrift import TProcessor\nfrom thrift.transport import TTransport\nfrom thrift.protocol import TBinaryProtocol, TProtocol\ntry:\n  from thrift.protocol import fastbinary\nexcept:\n  fastbinary = None\n\n\nclass Iface:\n  def getRSAKey(self):\n    pass\n\n  def notifyEmailConfirmationResult(self, parameterMap):\n    \"\"\"\n    Parameters:\n     - parameterMap\n    \"\"\"\n    pass\n\n  def registerVirtualAccount(self, locale, encryptedVirtualUserId, encryptedPassword):\n    \"\"\"\n    Parameters:\n     - locale\n     - encryptedVirtualUserId\n     - encryptedPassword\n    \"\"\"\n    pass\n\n  def requestVirtualAccountPasswordChange(self, virtualMid, encryptedVirtualUserId, encryptedOldPassword, encryptedNewPassword):\n    \"\"\"\n    Parameters:\n     - virtualMid\n     - encryptedVirtualUserId\n     - encryptedOldPassword\n     - encryptedNewPassword\n    \"\"\"\n    pass\n\n  def requestVirtualAccountPasswordSet(self, virtualMid, encryptedVirtualUserId, encryptedNewPassword):\n    \"\"\"\n    Parameters:\n     - virtualMid\n     - encryptedVirtualUserId\n     - encryptedNewPassword\n    \"\"\"\n    pass\n\n  def unregisterVirtualAccount(self, virtualMid):\n    \"\"\"\n    Parameters:\n     - virtualMid\n    \"\"\"\n    pass\n\n  def checkUserAge(self, carrier, sessionId, verifier, standardAge):\n    \"\"\"\n    Parameters:\n     - carrier\n     - sessionId\n     - verifier\n     - standardAge\n    \"\"\"\n    pass\n\n  def checkUserAgeWithDocomo(self, openIdRedirectUrl, standardAge, verifier):\n    \"\"\"\n    Parameters:\n     - openIdRedirectUrl\n     - standardAge\n     - verifier\n    \"\"\"\n    pass\n\n  def retrieveOpenIdAuthUrlWithDocomo(self):\n    pass\n\n  def retrieveRequestToken(self, carrier):\n    \"\"\"\n    Parameters:\n     - carrier\n    \"\"\"\n    pass\n\n  def addBuddyMember(self, requestId, userMid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMid\n    \"\"\"\n    pass\n\n  def addBuddyMembers(self, requestId, userMids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMids\n    \"\"\"\n    pass\n\n  def blockBuddyMember(self, requestId, mid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - mid\n    \"\"\"\n    pass\n\n  def commitSendMessagesToAll(self, requestIdList):\n    \"\"\"\n    Parameters:\n     - requestIdList\n    \"\"\"\n    pass\n\n  def commitSendMessagesTomids(self, requestIdList, mids):\n    \"\"\"\n    Parameters:\n     - requestIdList\n     - mids\n    \"\"\"\n    pass\n\n  def containsBuddyMember(self, requestId, userMid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMid\n    \"\"\"\n    pass\n\n  def downloadMessageContent(self, requestId, messageId):\n    \"\"\"\n    Parameters:\n     - requestId\n     - messageId\n    \"\"\"\n    pass\n\n  def downloadMessageContentPreview(self, requestId, messageId):\n    \"\"\"\n    Parameters:\n     - requestId\n     - messageId\n    \"\"\"\n    pass\n\n  def downloadProfileImage(self, requestId):\n    \"\"\"\n    Parameters:\n     - requestId\n    \"\"\"\n    pass\n\n  def downloadProfileImagePreview(self, requestId):\n    \"\"\"\n    Parameters:\n     - requestId\n    \"\"\"\n    pass\n\n  def getActiveMemberCountByBuddyMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    pass\n\n  def getActiveMemberMidsByBuddyMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    pass\n\n  def getAllBuddyMembers(self):\n    pass\n\n  def getBlockedBuddyMembers(self):\n    pass\n\n  def getBlockerCountByBuddyMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    pass\n\n  def getBuddyDetailByMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    pass\n\n  def getBuddyProfile(self):\n    pass\n\n  def getContactTicket(self):\n    pass\n\n  def getMemberCountByBuddyMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    pass\n\n  def getSendBuddyMessageResult(self, sendBuddyMessageRequestId):\n    \"\"\"\n    Parameters:\n     - sendBuddyMessageRequestId\n    \"\"\"\n    pass\n\n  def getSetBuddyOnAirResult(self, setBuddyOnAirRequestId):\n    \"\"\"\n    Parameters:\n     - setBuddyOnAirRequestId\n    \"\"\"\n    pass\n\n  def getUpdateBuddyProfileResult(self, updateBuddyProfileRequestId):\n    \"\"\"\n    Parameters:\n     - updateBuddyProfileRequestId\n    \"\"\"\n    pass\n\n  def isBuddyOnAirByMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    pass\n\n  def linkAndSendBuddyContentMessageToAllAsync(self, requestId, msg, sourceContentId):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - sourceContentId\n    \"\"\"\n    pass\n\n  def linkAndSendBuddyContentMessageTomids(self, requestId, msg, sourceContentId, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - sourceContentId\n     - mids\n    \"\"\"\n    pass\n\n  def notifyBuddyBlocked(self, buddyMid, blockerMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n     - blockerMid\n    \"\"\"\n    pass\n\n  def notifyBuddyUnblocked(self, buddyMid, blockerMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n     - blockerMid\n    \"\"\"\n    pass\n\n  def registerBuddy(self, buddyId, searchId, displayName, statusMeessage, picture, settings):\n    \"\"\"\n    Parameters:\n     - buddyId\n     - searchId\n     - displayName\n     - statusMeessage\n     - picture\n     - settings\n    \"\"\"\n    pass\n\n  def registerBuddyAdmin(self, buddyId, searchId, displayName, statusMessage, picture):\n    \"\"\"\n    Parameters:\n     - buddyId\n     - searchId\n     - displayName\n     - statusMessage\n     - picture\n    \"\"\"\n    pass\n\n  def reissueContactTicket(self, expirationTime, maxUseCount):\n    \"\"\"\n    Parameters:\n     - expirationTime\n     - maxUseCount\n    \"\"\"\n    pass\n\n  def removeBuddyMember(self, requestId, userMid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMid\n    \"\"\"\n    pass\n\n  def removeBuddyMembers(self, requestId, userMids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMids\n    \"\"\"\n    pass\n\n  def sendBuddyContentMessageToAll(self, requestId, msg, content):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - content\n    \"\"\"\n    pass\n\n  def sendBuddyContentMessageToAllAsync(self, requestId, msg, content):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - content\n    \"\"\"\n    pass\n\n  def sendBuddyContentMessageTomids(self, requestId, msg, content, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - content\n     - mids\n    \"\"\"\n    pass\n\n  def sendBuddyContentMessageTomidsAsync(self, requestId, msg, content, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - content\n     - mids\n    \"\"\"\n    pass\n\n  def sendBuddyMessageToAll(self, requestId, msg):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n    \"\"\"\n    pass\n\n  def sendBuddyMessageToAllAsync(self, requestId, msg):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n    \"\"\"\n    pass\n\n  def sendBuddyMessageTomids(self, requestId, msg, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - mids\n    \"\"\"\n    pass\n\n  def sendBuddyMessageTomidsAsync(self, requestId, msg, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - mids\n    \"\"\"\n    pass\n\n  def sendIndividualEventToAllAsync(self, requestId, buddyMid, notificationStatus):\n    \"\"\"\n    Parameters:\n     - requestId\n     - buddyMid\n     - notificationStatus\n    \"\"\"\n    pass\n\n  def setBuddyOnAir(self, requestId, onAir):\n    \"\"\"\n    Parameters:\n     - requestId\n     - onAir\n    \"\"\"\n    pass\n\n  def setBuddyOnAirAsync(self, requestId, onAir):\n    \"\"\"\n    Parameters:\n     - requestId\n     - onAir\n    \"\"\"\n    pass\n\n  def storeMessage(self, requestId, messageRequest):\n    \"\"\"\n    Parameters:\n     - requestId\n     - messageRequest\n    \"\"\"\n    pass\n\n  def unblockBuddyMember(self, requestId, mid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - mid\n    \"\"\"\n    pass\n\n  def unregisterBuddy(self, requestId):\n    \"\"\"\n    Parameters:\n     - requestId\n    \"\"\"\n    pass\n\n  def unregisterBuddyAdmin(self, requestId):\n    \"\"\"\n    Parameters:\n     - requestId\n    \"\"\"\n    pass\n\n  def updateBuddyAdminProfileAttribute(self, requestId, attributes):\n    \"\"\"\n    Parameters:\n     - requestId\n     - attributes\n    \"\"\"\n    pass\n\n  def updateBuddyAdminProfileImage(self, requestId, picture):\n    \"\"\"\n    Parameters:\n     - requestId\n     - picture\n    \"\"\"\n    pass\n\n  def updateBuddyProfileAttributes(self, requestId, attributes):\n    \"\"\"\n    Parameters:\n     - requestId\n     - attributes\n    \"\"\"\n    pass\n\n  def updateBuddyProfileAttributesAsync(self, requestId, attributes):\n    \"\"\"\n    Parameters:\n     - requestId\n     - attributes\n    \"\"\"\n    pass\n\n  def updateBuddyProfileImage(self, requestId, image):\n    \"\"\"\n    Parameters:\n     - requestId\n     - image\n    \"\"\"\n    pass\n\n  def updateBuddyProfileImageAsync(self, requestId, image):\n    \"\"\"\n    Parameters:\n     - requestId\n     - image\n    \"\"\"\n    pass\n\n  def updateBuddySearchId(self, requestId, searchId):\n    \"\"\"\n    Parameters:\n     - requestId\n     - searchId\n    \"\"\"\n    pass\n\n  def updateBuddySettings(self, settings):\n    \"\"\"\n    Parameters:\n     - settings\n    \"\"\"\n    pass\n\n  def uploadBuddyContent(self, contentType, content):\n    \"\"\"\n    Parameters:\n     - contentType\n     - content\n    \"\"\"\n    pass\n\n  def findBuddyContactsByQuery(self, language, country, query, fromIndex, count, requestSource):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n     - query\n     - fromIndex\n     - count\n     - requestSource\n    \"\"\"\n    pass\n\n  def getBuddyContacts(self, language, country, classification, fromIndex, count):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n     - classification\n     - fromIndex\n     - count\n    \"\"\"\n    pass\n\n  def getBuddyDetail(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    pass\n\n  def getBuddyOnAir(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    pass\n\n  def getCountriesHavingBuddy(self):\n    pass\n\n  def getNewlyReleasedBuddyIds(self, country):\n    \"\"\"\n    Parameters:\n     - country\n    \"\"\"\n    pass\n\n  def getPopularBuddyBanner(self, language, country, applicationType, resourceSpecification):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n     - applicationType\n     - resourceSpecification\n    \"\"\"\n    pass\n\n  def getPopularBuddyLists(self, language, country):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getPromotedBuddyContacts(self, language, country):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def activeBuddySubscriberCount(self):\n    pass\n\n  def addOperationForChannel(self, opType, param1, param2, param3):\n    \"\"\"\n    Parameters:\n     - opType\n     - param1\n     - param2\n     - param3\n    \"\"\"\n    pass\n\n  def displayBuddySubscriberCount(self):\n    pass\n\n  def findContactByUseridWithoutAbuseBlockForChannel(self, userid):\n    \"\"\"\n    Parameters:\n     - userid\n    \"\"\"\n    pass\n\n  def getAllContactIdsForChannel(self):\n    pass\n\n  def getCompactContacts(self, lastModifiedTimestamp):\n    \"\"\"\n    Parameters:\n     - lastModifiedTimestamp\n    \"\"\"\n    pass\n\n  def getContactsForChannel(self, ids):\n    \"\"\"\n    Parameters:\n     - ids\n    \"\"\"\n    pass\n\n  def getDisplayName(self, mid):\n    \"\"\"\n    Parameters:\n     - mid\n    \"\"\"\n    pass\n\n  def getFavoriteMidsForChannel(self):\n    pass\n\n  def getFriendMids(self):\n    pass\n\n  def getGroupMemberMids(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    pass\n\n  def getGroupsForChannel(self, groupIds):\n    \"\"\"\n    Parameters:\n     - groupIds\n    \"\"\"\n    pass\n\n  def getIdentityCredential(self):\n    pass\n\n  def getJoinedGroupIdsForChannel(self):\n    pass\n\n  def getMetaProfile(self):\n    pass\n\n  def getMid(self):\n    pass\n\n  def getPrimaryClientForChannel(self):\n    pass\n\n  def getProfileForChannel(self):\n    pass\n\n  def getSimpleChannelContacts(self, ids):\n    \"\"\"\n    Parameters:\n     - ids\n    \"\"\"\n    pass\n\n  def getUserCountryForBilling(self, country, remoteIp):\n    \"\"\"\n    Parameters:\n     - country\n     - remoteIp\n    \"\"\"\n    pass\n\n  def getUserCreateTime(self):\n    pass\n\n  def getUserIdentities(self):\n    pass\n\n  def getUserLanguage(self):\n    pass\n\n  def getUserMidsWhoAddedMe(self):\n    pass\n\n  def isGroupMember(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    pass\n\n  def isInContact(self, mid):\n    \"\"\"\n    Parameters:\n     - mid\n    \"\"\"\n    pass\n\n  def registerChannelCP(self, cpId, registerPassword):\n    \"\"\"\n    Parameters:\n     - cpId\n     - registerPassword\n    \"\"\"\n    pass\n\n  def removeNotificationStatus(self, notificationStatus):\n    \"\"\"\n    Parameters:\n     - notificationStatus\n    \"\"\"\n    pass\n\n  def sendMessageForChannel(self, message):\n    \"\"\"\n    Parameters:\n     - message\n    \"\"\"\n    pass\n\n  def sendPinCodeOperation(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    pass\n\n  def updateProfileAttributeForChannel(self, profileAttribute, value):\n    \"\"\"\n    Parameters:\n     - profileAttribute\n     - value\n    \"\"\"\n    pass\n\n  def approveChannelAndIssueChannelToken(self, channelId):\n    \"\"\"\n    Parameters:\n     - channelId\n    \"\"\"\n    pass\n\n  def approveChannelAndIssueRequestToken(self, channelId, otpId):\n    \"\"\"\n    Parameters:\n     - channelId\n     - otpId\n    \"\"\"\n    pass\n\n  def fetchNotificationItems(self, localRev):\n    \"\"\"\n    Parameters:\n     - localRev\n    \"\"\"\n    pass\n\n  def getApprovedChannels(self, lastSynced, locale):\n    \"\"\"\n    Parameters:\n     - lastSynced\n     - locale\n    \"\"\"\n    pass\n\n  def getChannelInfo(self, channelId, locale):\n    \"\"\"\n    Parameters:\n     - channelId\n     - locale\n    \"\"\"\n    pass\n\n  def getChannelNotificationSetting(self, channelId, locale):\n    \"\"\"\n    Parameters:\n     - channelId\n     - locale\n    \"\"\"\n    pass\n\n  def getChannelNotificationSettings(self, locale):\n    \"\"\"\n    Parameters:\n     - locale\n    \"\"\"\n    pass\n\n  def getChannels(self, lastSynced, locale):\n    \"\"\"\n    Parameters:\n     - lastSynced\n     - locale\n    \"\"\"\n    pass\n\n  def getDomains(self, lastSynced):\n    \"\"\"\n    Parameters:\n     - lastSynced\n    \"\"\"\n    pass\n\n  def getFriendChannelMatrices(self, channelIds):\n    \"\"\"\n    Parameters:\n     - channelIds\n    \"\"\"\n    pass\n\n  def getNotificationBadgeCount(self, localRev):\n    \"\"\"\n    Parameters:\n     - localRev\n    \"\"\"\n    pass\n\n  def issueChannelToken(self, channelId):\n    \"\"\"\n    Parameters:\n     - channelId\n    \"\"\"\n    pass\n\n  def issueRequestToken(self, channelId, otpId):\n    \"\"\"\n    Parameters:\n     - channelId\n     - otpId\n    \"\"\"\n    pass\n\n  def issueRequestTokenWithAuthScheme(self, channelId, otpId, authScheme, returnUrl):\n    \"\"\"\n    Parameters:\n     - channelId\n     - otpId\n     - authScheme\n     - returnUrl\n    \"\"\"\n    pass\n\n  def reserveCoinUse(self, request, locale):\n    \"\"\"\n    Parameters:\n     - request\n     - locale\n    \"\"\"\n    pass\n\n  def revokeChannel(self, channelId):\n    \"\"\"\n    Parameters:\n     - channelId\n    \"\"\"\n    pass\n\n  def syncChannelData(self, lastSynced, locale):\n    \"\"\"\n    Parameters:\n     - lastSynced\n     - locale\n    \"\"\"\n    pass\n\n  def updateChannelNotificationSetting(self, setting):\n    \"\"\"\n    Parameters:\n     - setting\n    \"\"\"\n    pass\n\n  def fetchMessageOperations(self, localRevision, lastOpTimestamp, count):\n    \"\"\"\n    Parameters:\n     - localRevision\n     - lastOpTimestamp\n     - count\n    \"\"\"\n    pass\n\n  def getLastReadMessageIds(self, chatId):\n    \"\"\"\n    Parameters:\n     - chatId\n    \"\"\"\n    pass\n\n  def multiGetLastReadMessageIds(self, chatIds):\n    \"\"\"\n    Parameters:\n     - chatIds\n    \"\"\"\n    pass\n\n  def buyCoinProduct(self, paymentReservation):\n    \"\"\"\n    Parameters:\n     - paymentReservation\n    \"\"\"\n    pass\n\n  def buyFreeProduct(self, receiverMid, productId, messageTemplate, language, country, packageId):\n    \"\"\"\n    Parameters:\n     - receiverMid\n     - productId\n     - messageTemplate\n     - language\n     - country\n     - packageId\n    \"\"\"\n    pass\n\n  def buyMustbuyProduct(self, receiverMid, productId, messageTemplate, language, country, packageId, serialNumber):\n    \"\"\"\n    Parameters:\n     - receiverMid\n     - productId\n     - messageTemplate\n     - language\n     - country\n     - packageId\n     - serialNumber\n    \"\"\"\n    pass\n\n  def checkCanReceivePresent(self, recipientMid, packageId, language, country):\n    \"\"\"\n    Parameters:\n     - recipientMid\n     - packageId\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getActivePurchases(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getActivePurchaseVersions(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getCoinProducts(self, appStoreCode, country, language):\n    \"\"\"\n    Parameters:\n     - appStoreCode\n     - country\n     - language\n    \"\"\"\n    pass\n\n  def getCoinProductsByPgCode(self, appStoreCode, pgCode, country, language):\n    \"\"\"\n    Parameters:\n     - appStoreCode\n     - pgCode\n     - country\n     - language\n    \"\"\"\n    pass\n\n  def getCoinPurchaseHistory(self, request):\n    \"\"\"\n    Parameters:\n     - request\n    \"\"\"\n    pass\n\n  def getCoinUseAndRefundHistory(self, request):\n    \"\"\"\n    Parameters:\n     - request\n    \"\"\"\n    pass\n\n  def getDownloads(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getEventPackages(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getNewlyReleasedPackages(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getPopularPackages(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getPresentsReceived(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getPresentsSent(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getProduct(self, packageID, language, country):\n    \"\"\"\n    Parameters:\n     - packageID\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getProductList(self, productIdList, language, country):\n    \"\"\"\n    Parameters:\n     - productIdList\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getProductListWithCarrier(self, productIdList, language, country, carrierCode):\n    \"\"\"\n    Parameters:\n     - productIdList\n     - language\n     - country\n     - carrierCode\n    \"\"\"\n    pass\n\n  def getProductWithCarrier(self, packageID, language, country, carrierCode):\n    \"\"\"\n    Parameters:\n     - packageID\n     - language\n     - country\n     - carrierCode\n    \"\"\"\n    pass\n\n  def getPurchaseHistory(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    pass\n\n  def getTotalBalance(self, appStoreCode):\n    \"\"\"\n    Parameters:\n     - appStoreCode\n    \"\"\"\n    pass\n\n  def notifyDownloaded(self, packageId, language):\n    \"\"\"\n    Parameters:\n     - packageId\n     - language\n    \"\"\"\n    pass\n\n  def reserveCoinPurchase(self, request):\n    \"\"\"\n    Parameters:\n     - request\n    \"\"\"\n    pass\n\n  def reservePayment(self, paymentReservation):\n    \"\"\"\n    Parameters:\n     - paymentReservation\n    \"\"\"\n    pass\n\n  def getSnsFriends(self, snsIdType, snsAccessToken, startIdx, limit):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - startIdx\n     - limit\n    \"\"\"\n    pass\n\n  def getSnsMyProfile(self, snsIdType, snsAccessToken):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n    \"\"\"\n    pass\n\n  def postSnsInvitationMessage(self, snsIdType, snsAccessToken, toSnsUserId):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - toSnsUserId\n    \"\"\"\n    pass\n\n  def acceptGroupInvitation(self, reqSeq, groupId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n    \"\"\"\n    pass\n\n  def acceptGroupInvitationByTicket(self, reqSeq, groupId, ticketId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n     - ticketId\n    \"\"\"\n    pass\n\n  def acceptProximityMatches(self, sessionId, ids):\n    \"\"\"\n    Parameters:\n     - sessionId\n     - ids\n    \"\"\"\n    pass\n\n  def acquireCallRoute(self, to):\n    \"\"\"\n    Parameters:\n     - to\n    \"\"\"\n    pass\n\n  def acquireCallTicket(self, to):\n    \"\"\"\n    Parameters:\n     - to\n    \"\"\"\n    pass\n\n  def acquireEncryptedAccessToken(self, featureType):\n    \"\"\"\n    Parameters:\n     - featureType\n    \"\"\"\n    pass\n\n  def addSnsId(self, snsIdType, snsAccessToken):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n    \"\"\"\n    pass\n\n  def blockContact(self, reqSeq, id):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - id\n    \"\"\"\n    pass\n\n  def blockRecommendation(self, reqSeq, id):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - id\n    \"\"\"\n    pass\n\n  def cancelGroupInvitation(self, reqSeq, groupId, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n     - contactIds\n    \"\"\"\n    pass\n\n  def changeVerificationMethod(self, sessionId, method):\n    \"\"\"\n    Parameters:\n     - sessionId\n     - method\n    \"\"\"\n    pass\n\n  def clearIdentityCredential(self):\n    pass\n\n  def clearMessageBox(self, channelId, messageBoxId):\n    \"\"\"\n    Parameters:\n     - channelId\n     - messageBoxId\n    \"\"\"\n    pass\n\n  def closeProximityMatch(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    pass\n\n  def commitSendMessage(self, seq, messageId, receiverMids):\n    \"\"\"\n    Parameters:\n     - seq\n     - messageId\n     - receiverMids\n    \"\"\"\n    pass\n\n  def commitSendMessages(self, seq, messageIds, receiverMids):\n    \"\"\"\n    Parameters:\n     - seq\n     - messageIds\n     - receiverMids\n    \"\"\"\n    pass\n\n  def commitUpdateProfile(self, seq, attrs, receiverMids):\n    \"\"\"\n    Parameters:\n     - seq\n     - attrs\n     - receiverMids\n    \"\"\"\n    pass\n\n  def confirmEmail(self, verifier, pinCode):\n    \"\"\"\n    Parameters:\n     - verifier\n     - pinCode\n    \"\"\"\n    pass\n\n  def createGroup(self, seq, name, contactIds):\n    \"\"\"\n    Parameters:\n     - seq\n     - name\n     - contactIds\n    \"\"\"\n    pass\n\n  def createQrcodeBase64Image(self, url, characterSet, imageSize, x, y, width, height):\n    \"\"\"\n    Parameters:\n     - url\n     - characterSet\n     - imageSize\n     - x\n     - y\n     - width\n     - height\n    \"\"\"\n    pass\n\n  def createRoom(self, reqSeq, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - contactIds\n    \"\"\"\n    pass\n\n  def createSession(self):\n    pass\n\n  def fetchAnnouncements(self, lastFetchedIndex):\n    \"\"\"\n    Parameters:\n     - lastFetchedIndex\n    \"\"\"\n    pass\n\n  def fetchMessages(self, localTs, count):\n    \"\"\"\n    Parameters:\n     - localTs\n     - count\n    \"\"\"\n    pass\n\n  def fetchOperations(self, localRev, count):\n    \"\"\"\n    Parameters:\n     - localRev\n     - count\n    \"\"\"\n    pass\n\n  def fetchOps(self, localRev, count, globalRev, individualRev):\n    \"\"\"\n    Parameters:\n     - localRev\n     - count\n     - globalRev\n     - individualRev\n    \"\"\"\n    pass\n\n  def findAndAddContactsByEmail(self, reqSeq, emails):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - emails\n    \"\"\"\n    pass\n\n  def findAndAddContactsByMid(self, reqSeq, mid):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - mid\n    \"\"\"\n    pass\n\n  def findAndAddContactsByPhone(self, reqSeq, phones):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - phones\n    \"\"\"\n    pass\n\n  def findAndAddContactsByUserid(self, reqSeq, userid):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - userid\n    \"\"\"\n    pass\n\n  def findContactByUserid(self, userid):\n    \"\"\"\n    Parameters:\n     - userid\n    \"\"\"\n    pass\n\n  def findContactByUserTicket(self, ticketId):\n    \"\"\"\n    Parameters:\n     - ticketId\n    \"\"\"\n    pass\n\n  def findGroupByTicket(self, ticketId):\n    \"\"\"\n    Parameters:\n     - ticketId\n    \"\"\"\n    pass\n\n  def findContactsByEmail(self, emails):\n    \"\"\"\n    Parameters:\n     - emails\n    \"\"\"\n    pass\n\n  def findContactsByPhone(self, phones):\n    \"\"\"\n    Parameters:\n     - phones\n    \"\"\"\n    pass\n\n  def findSnsIdUserStatus(self, snsIdType, snsAccessToken, udidHash):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - udidHash\n    \"\"\"\n    pass\n\n  def finishUpdateVerification(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    pass\n\n  def generateUserTicket(self, expirationTime, maxUseCount):\n    \"\"\"\n    Parameters:\n     - expirationTime\n     - maxUseCount\n    \"\"\"\n    pass\n\n  def getAcceptedProximityMatches(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    pass\n\n  def getActiveBuddySubscriberIds(self):\n    pass\n\n  def getAllContactIds(self):\n    pass\n\n  def getAuthQrcode(self, keepLoggedIn, systemName):\n    \"\"\"\n    Parameters:\n     - keepLoggedIn\n     - systemName\n    \"\"\"\n    pass\n\n  def getBlockedContactIds(self):\n    pass\n\n  def getBlockedContactIdsByRange(self, start, count):\n    \"\"\"\n    Parameters:\n     - start\n     - count\n    \"\"\"\n    pass\n\n  def getBlockedRecommendationIds(self):\n    pass\n\n  def getBuddyBlockerIds(self):\n    pass\n\n  def getBuddyLocation(self, mid, index):\n    \"\"\"\n    Parameters:\n     - mid\n     - index\n    \"\"\"\n    pass\n\n  def getCompactContactsModifiedSince(self, timestamp):\n    \"\"\"\n    Parameters:\n     - timestamp\n    \"\"\"\n    pass\n\n  def getCompactGroup(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    pass\n\n  def getCompactRoom(self, roomId):\n    \"\"\"\n    Parameters:\n     - roomId\n    \"\"\"\n    pass\n\n  def getContact(self, id):\n    \"\"\"\n    Parameters:\n     - id\n    \"\"\"\n    pass\n\n  def getContacts(self, ids):\n    \"\"\"\n    Parameters:\n     - ids\n    \"\"\"\n    pass\n\n  def getCountryWithRequestIp(self):\n    pass\n\n  def getFavoriteMids(self):\n    pass\n\n  def getGroup(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    pass\n\n  def getGroupIdsInvited(self):\n    pass\n\n  def getGroupIdsJoined(self):\n    pass\n\n  def getGroups(self, groupIds):\n    \"\"\"\n    Parameters:\n     - groupIds\n    \"\"\"\n    pass\n\n  def getHiddenContactMids(self):\n    pass\n\n  def getIdentityIdentifier(self):\n    pass\n\n  def getLastAnnouncementIndex(self):\n    pass\n\n  def getLastOpRevision(self):\n    pass\n\n  def getMessageBox(self, channelId, messageBoxId, lastMessagesCount):\n    \"\"\"\n    Parameters:\n     - channelId\n     - messageBoxId\n     - lastMessagesCount\n    \"\"\"\n    pass\n\n  def getMessageBoxCompactWrapUp(self, mid):\n    \"\"\"\n    Parameters:\n     - mid\n    \"\"\"\n    pass\n\n  def getMessageBoxCompactWrapUpList(self, start, messageBoxCount):\n    \"\"\"\n    Parameters:\n     - start\n     - messageBoxCount\n    \"\"\"\n    pass\n\n  def getMessageBoxList(self, channelId, lastMessagesCount):\n    \"\"\"\n    Parameters:\n     - channelId\n     - lastMessagesCount\n    \"\"\"\n    pass\n\n  def getMessageBoxListByStatus(self, channelId, lastMessagesCount, status):\n    \"\"\"\n    Parameters:\n     - channelId\n     - lastMessagesCount\n     - status\n    \"\"\"\n    pass\n\n  def getMessageBoxWrapUp(self, mid):\n    \"\"\"\n    Parameters:\n     - mid\n    \"\"\"\n    pass\n\n  def getMessageBoxWrapUpList(self, start, messageBoxCount):\n    \"\"\"\n    Parameters:\n     - start\n     - messageBoxCount\n    \"\"\"\n    pass\n\n  def getMessagesBySequenceNumber(self, channelId, messageBoxId, startSeq, endSeq):\n    \"\"\"\n    Parameters:\n     - channelId\n     - messageBoxId\n     - startSeq\n     - endSeq\n    \"\"\"\n    pass\n\n  def getNextMessages(self, messageBoxId, startSeq, messagesCount):\n    \"\"\"\n    Parameters:\n     - messageBoxId\n     - startSeq\n     - messagesCount\n    \"\"\"\n    pass\n\n  def getNotificationPolicy(self, carrier):\n    \"\"\"\n    Parameters:\n     - carrier\n    \"\"\"\n    pass\n\n  def getPreviousMessages(self, messageBoxId, endSeq, messagesCount):\n    \"\"\"\n    Parameters:\n     - messageBoxId\n     - endSeq\n     - messagesCount\n    \"\"\"\n    pass\n\n  def getProfile(self):\n    pass\n\n  def getProximityMatchCandidateList(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    pass\n\n  def getProximityMatchCandidates(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    pass\n\n  def getRecentMessages(self, messageBoxId, messagesCount):\n    \"\"\"\n    Parameters:\n     - messageBoxId\n     - messagesCount\n    \"\"\"\n    pass\n\n  def getRecommendationIds(self):\n    pass\n\n  def getRoom(self, roomId):\n    \"\"\"\n    Parameters:\n     - roomId\n    \"\"\"\n    pass\n\n  def getRSAKeyInfo(self, provider):\n    \"\"\"\n    Parameters:\n     - provider\n    \"\"\"\n    pass\n\n  def getServerTime(self):\n    pass\n\n  def getSessions(self):\n    pass\n\n  def getSettings(self):\n    pass\n\n  def getSettingsAttributes(self, attrBitset):\n    \"\"\"\n    Parameters:\n     - attrBitset\n    \"\"\"\n    pass\n\n  def getSystemConfiguration(self):\n    pass\n\n  def getUserTicket(self):\n    pass\n\n  def getWapInvitation(self, invitationHash):\n    \"\"\"\n    Parameters:\n     - invitationHash\n    \"\"\"\n    pass\n\n  def invalidateUserTicket(self):\n    pass\n\n  def inviteFriendsBySms(self, phoneNumberList):\n    \"\"\"\n    Parameters:\n     - phoneNumberList\n    \"\"\"\n    pass\n\n  def inviteIntoGroup(self, reqSeq, groupId, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n     - contactIds\n    \"\"\"\n    pass\n\n  def inviteIntoRoom(self, reqSeq, roomId, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - roomId\n     - contactIds\n    \"\"\"\n    pass\n\n  def inviteViaEmail(self, reqSeq, email, name):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - email\n     - name\n    \"\"\"\n    pass\n\n  def isIdentityIdentifierAvailable(self, provider, identifier):\n    \"\"\"\n    Parameters:\n     - provider\n     - identifier\n    \"\"\"\n    pass\n\n  def isUseridAvailable(self, userid):\n    \"\"\"\n    Parameters:\n     - userid\n    \"\"\"\n    pass\n\n  def kickoutFromGroup(self, reqSeq, groupId, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n     - contactIds\n    \"\"\"\n    pass\n\n  def leaveGroup(self, reqSeq, groupId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n    \"\"\"\n    pass\n\n  def leaveRoom(self, reqSeq, roomId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - roomId\n    \"\"\"\n    pass\n\n  def loginWithIdentityCredential(self, identityProvider, identifier, password, keepLoggedIn, accessLocation, systemName, certificate):\n    \"\"\"\n    Parameters:\n     - identityProvider\n     - identifier\n     - password\n     - keepLoggedIn\n     - accessLocation\n     - systemName\n     - certificate\n    \"\"\"\n    pass\n\n  def loginWithIdentityCredentialForCertificate(self, identityProvider, identifier, password, keepLoggedIn, accessLocation, systemName, certificate):\n    \"\"\"\n    Parameters:\n     - identityProvider\n     - identifier\n     - password\n     - keepLoggedIn\n     - accessLocation\n     - systemName\n     - certificate\n    \"\"\"\n    pass\n\n  def loginWithVerifier(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    pass\n\n  def loginWithVerifierForCerificate(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    pass\n\n  def loginWithVerifierForCertificate(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    pass\n\n  def logout(self):\n    pass\n\n  def logoutSession(self, tokenKey):\n    \"\"\"\n    Parameters:\n     - tokenKey\n    \"\"\"\n    pass\n\n  def noop(self):\n    pass\n\n  def notifiedRedirect(self, paramMap):\n    \"\"\"\n    Parameters:\n     - paramMap\n    \"\"\"\n    pass\n\n  def notifyBuddyOnAir(self, seq, receiverMids):\n    \"\"\"\n    Parameters:\n     - seq\n     - receiverMids\n    \"\"\"\n    pass\n\n  def notifyIndividualEvent(self, notificationStatus, receiverMids):\n    \"\"\"\n    Parameters:\n     - notificationStatus\n     - receiverMids\n    \"\"\"\n    pass\n\n  def notifyInstalled(self, udidHash, applicationTypeWithExtensions):\n    \"\"\"\n    Parameters:\n     - udidHash\n     - applicationTypeWithExtensions\n    \"\"\"\n    pass\n\n  def notifyRegistrationComplete(self, udidHash, applicationTypeWithExtensions):\n    \"\"\"\n    Parameters:\n     - udidHash\n     - applicationTypeWithExtensions\n    \"\"\"\n    pass\n\n  def notifySleep(self, lastRev, badge):\n    \"\"\"\n    Parameters:\n     - lastRev\n     - badge\n    \"\"\"\n    pass\n\n  def notifyUpdated(self, lastRev, deviceInfo):\n    \"\"\"\n    Parameters:\n     - lastRev\n     - deviceInfo\n    \"\"\"\n    pass\n\n  def openProximityMatch(self, location):\n    \"\"\"\n    Parameters:\n     - location\n    \"\"\"\n    pass\n\n  def registerBuddyUser(self, buddyId, registrarPassword):\n    \"\"\"\n    Parameters:\n     - buddyId\n     - registrarPassword\n    \"\"\"\n    pass\n\n  def registerBuddyUserid(self, seq, userid):\n    \"\"\"\n    Parameters:\n     - seq\n     - userid\n    \"\"\"\n    pass\n\n  def registerDevice(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    pass\n\n  def registerDeviceWithIdentityCredential(self, sessionId, provider, identifier, verifier):\n    \"\"\"\n    Parameters:\n     - sessionId\n     - provider\n     - identifier\n     - verifier\n    \"\"\"\n    pass\n\n  def registerDeviceWithoutPhoneNumber(self, region, udidHash, deviceInfo):\n    \"\"\"\n    Parameters:\n     - region\n     - udidHash\n     - deviceInfo\n    \"\"\"\n    pass\n\n  def registerDeviceWithoutPhoneNumberWithIdentityCredential(self, region, udidHash, deviceInfo, provider, identifier, verifier, mid):\n    \"\"\"\n    Parameters:\n     - region\n     - udidHash\n     - deviceInfo\n     - provider\n     - identifier\n     - verifier\n     - mid\n    \"\"\"\n    pass\n\n  def registerUserid(self, reqSeq, userid):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - userid\n    \"\"\"\n    pass\n\n  def registerWapDevice(self, invitationHash, guidHash, email, deviceInfo):\n    \"\"\"\n    Parameters:\n     - invitationHash\n     - guidHash\n     - email\n     - deviceInfo\n    \"\"\"\n    pass\n\n  def registerWithExistingSnsIdAndIdentityCredential(self, identityCredential, region, udidHash, deviceInfo):\n    \"\"\"\n    Parameters:\n     - identityCredential\n     - region\n     - udidHash\n     - deviceInfo\n    \"\"\"\n    pass\n\n  def registerWithSnsId(self, snsIdType, snsAccessToken, region, udidHash, deviceInfo, mid):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - region\n     - udidHash\n     - deviceInfo\n     - mid\n    \"\"\"\n    pass\n\n  def registerWithSnsIdAndIdentityCredential(self, snsIdType, snsAccessToken, identityCredential, region, udidHash, deviceInfo):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - identityCredential\n     - region\n     - udidHash\n     - deviceInfo\n    \"\"\"\n    pass\n\n  def reissueDeviceCredential(self):\n    pass\n\n  def reissueUserTicket(self, expirationTime, maxUseCount):\n    \"\"\"\n    Parameters:\n     - expirationTime\n     - maxUseCount\n    \"\"\"\n    pass\n\n  def reissueGroupTicket(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    pass\n\n  def rejectGroupInvitation(self, reqSeq, groupId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n    \"\"\"\n    pass\n\n  def releaseSession(self):\n    pass\n\n  def removeAllMessages(self, seq, lastMessageId):\n    \"\"\"\n    Parameters:\n     - seq\n     - lastMessageId\n    \"\"\"\n    pass\n\n  def removeBuddyLocation(self, mid, index):\n    \"\"\"\n    Parameters:\n     - mid\n     - index\n    \"\"\"\n    pass\n\n  def removeMessage(self, messageId):\n    \"\"\"\n    Parameters:\n     - messageId\n    \"\"\"\n    pass\n\n  def removeMessageFromMyHome(self, messageId):\n    \"\"\"\n    Parameters:\n     - messageId\n    \"\"\"\n    pass\n\n  def removeSnsId(self, snsIdType):\n    \"\"\"\n    Parameters:\n     - snsIdType\n    \"\"\"\n    pass\n\n  def report(self, syncOpRevision, category, report):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - category\n     - report\n    \"\"\"\n    pass\n\n  def reportContacts(self, syncOpRevision, category, contactReports, actionType):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - category\n     - contactReports\n     - actionType\n    \"\"\"\n    pass\n\n  def reportGroups(self, syncOpRevision, groups):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - groups\n    \"\"\"\n    pass\n\n  def reportProfile(self, syncOpRevision, profile):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - profile\n    \"\"\"\n    pass\n\n  def reportRooms(self, syncOpRevision, rooms):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - rooms\n    \"\"\"\n    pass\n\n  def reportSettings(self, syncOpRevision, settings):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - settings\n    \"\"\"\n    pass\n\n  def reportSpammer(self, spammerMid, spammerReasons, spamMessageIds):\n    \"\"\"\n    Parameters:\n     - spammerMid\n     - spammerReasons\n     - spamMessageIds\n    \"\"\"\n    pass\n\n  def requestAccountPasswordReset(self, provider, identifier, locale):\n    \"\"\"\n    Parameters:\n     - provider\n     - identifier\n     - locale\n    \"\"\"\n    pass\n\n  def requestEmailConfirmation(self, emailConfirmation):\n    \"\"\"\n    Parameters:\n     - emailConfirmation\n    \"\"\"\n    pass\n\n  def requestIdentityUnbind(self, provider, identifier):\n    \"\"\"\n    Parameters:\n     - provider\n     - identifier\n    \"\"\"\n    pass\n\n  def resendEmailConfirmation(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    pass\n\n  def resendPinCode(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    pass\n\n  def resendPinCodeBySMS(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    pass\n\n  def sendChatChecked(self, seq, consumer, lastMessageId):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - lastMessageId\n    \"\"\"\n    pass\n\n  def sendChatRemoved(self, seq, consumer, lastMessageId):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - lastMessageId\n    \"\"\"\n    pass\n\n  def sendContentPreviewUpdated(self, esq, messageId, receiverMids):\n    \"\"\"\n    Parameters:\n     - esq\n     - messageId\n     - receiverMids\n    \"\"\"\n    pass\n\n  def sendContentReceipt(self, seq, consumer, messageId):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - messageId\n    \"\"\"\n    pass\n\n  def sendDummyPush(self):\n    pass\n\n  def sendEvent(self, seq, message):\n    \"\"\"\n    Parameters:\n     - seq\n     - message\n    \"\"\"\n    pass\n\n  def sendMessage(self, seq, message):\n    \"\"\"\n    Parameters:\n     - seq\n     - message\n    \"\"\"\n    pass\n\n  def sendMessageIgnored(self, seq, consumer, messageIds):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - messageIds\n    \"\"\"\n    pass\n\n  def sendMessageReceipt(self, seq, consumer, messageIds):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - messageIds\n    \"\"\"\n    pass\n\n  def sendMessageToMyHome(self, seq, message):\n    \"\"\"\n    Parameters:\n     - seq\n     - message\n    \"\"\"\n    pass\n\n  def setBuddyLocation(self, mid, index, location):\n    \"\"\"\n    Parameters:\n     - mid\n     - index\n     - location\n    \"\"\"\n    pass\n\n  def setIdentityCredential(self, provider, identifier, verifier):\n    \"\"\"\n    Parameters:\n     - provider\n     - identifier\n     - verifier\n    \"\"\"\n    pass\n\n  def setNotificationsEnabled(self, reqSeq, type, target, enablement):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - type\n     - target\n     - enablement\n    \"\"\"\n    pass\n\n  def startUpdateVerification(self, region, carrier, phone, udidHash, deviceInfo, networkCode, locale):\n    \"\"\"\n    Parameters:\n     - region\n     - carrier\n     - phone\n     - udidHash\n     - deviceInfo\n     - networkCode\n     - locale\n    \"\"\"\n    pass\n\n  def startVerification(self, region, carrier, phone, udidHash, deviceInfo, networkCode, mid, locale):\n    \"\"\"\n    Parameters:\n     - region\n     - carrier\n     - phone\n     - udidHash\n     - deviceInfo\n     - networkCode\n     - mid\n     - locale\n    \"\"\"\n    pass\n\n  def storeUpdateProfileAttribute(self, seq, profileAttribute, value):\n    \"\"\"\n    Parameters:\n     - seq\n     - profileAttribute\n     - value\n    \"\"\"\n    pass\n\n  def syncContactBySnsIds(self, reqSeq, modifications):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - modifications\n    \"\"\"\n    pass\n\n  def syncContacts(self, reqSeq, localContacts):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - localContacts\n    \"\"\"\n    pass\n\n  def trySendMessage(self, seq, message):\n    \"\"\"\n    Parameters:\n     - seq\n     - message\n    \"\"\"\n    pass\n\n  def unblockContact(self, reqSeq, id):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - id\n    \"\"\"\n    pass\n\n  def unblockRecommendation(self, reqSeq, id):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - id\n    \"\"\"\n    pass\n\n  def unregisterUserAndDevice(self):\n    pass\n\n  def updateApnsDeviceToken(self, apnsDeviceToken):\n    \"\"\"\n    Parameters:\n     - apnsDeviceToken\n    \"\"\"\n    pass\n\n  def updateBuddySetting(self, key, value):\n    \"\"\"\n    Parameters:\n     - key\n     - value\n    \"\"\"\n    pass\n\n  def updateC2DMRegistrationId(self, registrationId):\n    \"\"\"\n    Parameters:\n     - registrationId\n    \"\"\"\n    pass\n\n  def updateContactSetting(self, reqSeq, mid, flag, value):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - mid\n     - flag\n     - value\n    \"\"\"\n    pass\n\n  def updateCustomModeSettings(self, customMode, paramMap):\n    \"\"\"\n    Parameters:\n     - customMode\n     - paramMap\n    \"\"\"\n    pass\n\n  def updateDeviceInfo(self, deviceUid, deviceInfo):\n    \"\"\"\n    Parameters:\n     - deviceUid\n     - deviceInfo\n    \"\"\"\n    pass\n\n  def updateGroup(self, reqSeq, group):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - group\n    \"\"\"\n    pass\n\n  def updateNotificationToken(self, type, token):\n    \"\"\"\n    Parameters:\n     - type\n     - token\n    \"\"\"\n    pass\n\n  def updateNotificationTokenWithBytes(self, type, token):\n    \"\"\"\n    Parameters:\n     - type\n     - token\n    \"\"\"\n    pass\n\n  def updateProfile(self, reqSeq, profile):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - profile\n    \"\"\"\n    pass\n\n  def updateProfileAttribute(self, reqSeq, attr, value):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - attr\n     - value\n    \"\"\"\n    pass\n\n  def updateRegion(self, region):\n    \"\"\"\n    Parameters:\n     - region\n    \"\"\"\n    pass\n\n  def updateSettings(self, reqSeq, settings):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - settings\n    \"\"\"\n    pass\n\n  def updateSettings2(self, reqSeq, settings):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - settings\n    \"\"\"\n    pass\n\n  def updateSettingsAttribute(self, reqSeq, attr, value):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - attr\n     - value\n    \"\"\"\n    pass\n\n  def updateSettingsAttributes(self, reqSeq, attrBitset, settings):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - attrBitset\n     - settings\n    \"\"\"\n    pass\n\n  def verifyIdentityCredential(self, identityProvider, identifier, password):\n    \"\"\"\n    Parameters:\n     - identityProvider\n     - identifier\n     - password\n    \"\"\"\n    pass\n\n  def verifyIdentityCredentialWithResult(self, identityCredential):\n    \"\"\"\n    Parameters:\n     - identityCredential\n    \"\"\"\n    pass\n\n  def verifyPhone(self, sessionId, pinCode, udidHash):\n    \"\"\"\n    Parameters:\n     - sessionId\n     - pinCode\n     - udidHash\n    \"\"\"\n    pass\n\n  def verifyQrcode(self, verifier, pinCode):\n    \"\"\"\n    Parameters:\n     - verifier\n     - pinCode\n    \"\"\"\n    pass\n\n  def notify(self, event):\n    \"\"\"\n    Parameters:\n     - event\n    \"\"\"\n    pass\n\n\nclass Client(Iface):\n  def __init__(self, iprot, oprot=None):\n    self._iprot = self._oprot = iprot\n    if oprot is not None:\n      self._oprot = oprot\n    self._seqid = 0\n\n  def getRSAKey(self):\n    self.send_getRSAKey()\n    return self.recv_getRSAKey()\n\n  def send_getRSAKey(self):\n    self._oprot.writeMessageBegin('getRSAKey', TMessageType.CALL, self._seqid)\n    args = getRSAKey_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getRSAKey(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getRSAKey_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getRSAKey failed: unknown result\")\n\n  def notifyEmailConfirmationResult(self, parameterMap):\n    \"\"\"\n    Parameters:\n     - parameterMap\n    \"\"\"\n    self.send_notifyEmailConfirmationResult(parameterMap)\n    self.recv_notifyEmailConfirmationResult()\n\n  def send_notifyEmailConfirmationResult(self, parameterMap):\n    self._oprot.writeMessageBegin('notifyEmailConfirmationResult', TMessageType.CALL, self._seqid)\n    args = notifyEmailConfirmationResult_args()\n    args.parameterMap = parameterMap\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifyEmailConfirmationResult(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifyEmailConfirmationResult_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def registerVirtualAccount(self, locale, encryptedVirtualUserId, encryptedPassword):\n    \"\"\"\n    Parameters:\n     - locale\n     - encryptedVirtualUserId\n     - encryptedPassword\n    \"\"\"\n    self.send_registerVirtualAccount(locale, encryptedVirtualUserId, encryptedPassword)\n    return self.recv_registerVirtualAccount()\n\n  def send_registerVirtualAccount(self, locale, encryptedVirtualUserId, encryptedPassword):\n    self._oprot.writeMessageBegin('registerVirtualAccount', TMessageType.CALL, self._seqid)\n    args = registerVirtualAccount_args()\n    args.locale = locale\n    args.encryptedVirtualUserId = encryptedVirtualUserId\n    args.encryptedPassword = encryptedPassword\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerVirtualAccount(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerVirtualAccount_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerVirtualAccount failed: unknown result\")\n\n  def requestVirtualAccountPasswordChange(self, virtualMid, encryptedVirtualUserId, encryptedOldPassword, encryptedNewPassword):\n    \"\"\"\n    Parameters:\n     - virtualMid\n     - encryptedVirtualUserId\n     - encryptedOldPassword\n     - encryptedNewPassword\n    \"\"\"\n    self.send_requestVirtualAccountPasswordChange(virtualMid, encryptedVirtualUserId, encryptedOldPassword, encryptedNewPassword)\n    self.recv_requestVirtualAccountPasswordChange()\n\n  def send_requestVirtualAccountPasswordChange(self, virtualMid, encryptedVirtualUserId, encryptedOldPassword, encryptedNewPassword):\n    self._oprot.writeMessageBegin('requestVirtualAccountPasswordChange', TMessageType.CALL, self._seqid)\n    args = requestVirtualAccountPasswordChange_args()\n    args.virtualMid = virtualMid\n    args.encryptedVirtualUserId = encryptedVirtualUserId\n    args.encryptedOldPassword = encryptedOldPassword\n    args.encryptedNewPassword = encryptedNewPassword\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_requestVirtualAccountPasswordChange(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = requestVirtualAccountPasswordChange_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def requestVirtualAccountPasswordSet(self, virtualMid, encryptedVirtualUserId, encryptedNewPassword):\n    \"\"\"\n    Parameters:\n     - virtualMid\n     - encryptedVirtualUserId\n     - encryptedNewPassword\n    \"\"\"\n    self.send_requestVirtualAccountPasswordSet(virtualMid, encryptedVirtualUserId, encryptedNewPassword)\n    self.recv_requestVirtualAccountPasswordSet()\n\n  def send_requestVirtualAccountPasswordSet(self, virtualMid, encryptedVirtualUserId, encryptedNewPassword):\n    self._oprot.writeMessageBegin('requestVirtualAccountPasswordSet', TMessageType.CALL, self._seqid)\n    args = requestVirtualAccountPasswordSet_args()\n    args.virtualMid = virtualMid\n    args.encryptedVirtualUserId = encryptedVirtualUserId\n    args.encryptedNewPassword = encryptedNewPassword\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_requestVirtualAccountPasswordSet(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = requestVirtualAccountPasswordSet_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def unregisterVirtualAccount(self, virtualMid):\n    \"\"\"\n    Parameters:\n     - virtualMid\n    \"\"\"\n    self.send_unregisterVirtualAccount(virtualMid)\n    self.recv_unregisterVirtualAccount()\n\n  def send_unregisterVirtualAccount(self, virtualMid):\n    self._oprot.writeMessageBegin('unregisterVirtualAccount', TMessageType.CALL, self._seqid)\n    args = unregisterVirtualAccount_args()\n    args.virtualMid = virtualMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_unregisterVirtualAccount(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = unregisterVirtualAccount_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def checkUserAge(self, carrier, sessionId, verifier, standardAge):\n    \"\"\"\n    Parameters:\n     - carrier\n     - sessionId\n     - verifier\n     - standardAge\n    \"\"\"\n    self.send_checkUserAge(carrier, sessionId, verifier, standardAge)\n    return self.recv_checkUserAge()\n\n  def send_checkUserAge(self, carrier, sessionId, verifier, standardAge):\n    self._oprot.writeMessageBegin('checkUserAge', TMessageType.CALL, self._seqid)\n    args = checkUserAge_args()\n    args.carrier = carrier\n    args.sessionId = sessionId\n    args.verifier = verifier\n    args.standardAge = standardAge\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_checkUserAge(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = checkUserAge_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"checkUserAge failed: unknown result\")\n\n  def checkUserAgeWithDocomo(self, openIdRedirectUrl, standardAge, verifier):\n    \"\"\"\n    Parameters:\n     - openIdRedirectUrl\n     - standardAge\n     - verifier\n    \"\"\"\n    self.send_checkUserAgeWithDocomo(openIdRedirectUrl, standardAge, verifier)\n    return self.recv_checkUserAgeWithDocomo()\n\n  def send_checkUserAgeWithDocomo(self, openIdRedirectUrl, standardAge, verifier):\n    self._oprot.writeMessageBegin('checkUserAgeWithDocomo', TMessageType.CALL, self._seqid)\n    args = checkUserAgeWithDocomo_args()\n    args.openIdRedirectUrl = openIdRedirectUrl\n    args.standardAge = standardAge\n    args.verifier = verifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_checkUserAgeWithDocomo(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = checkUserAgeWithDocomo_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"checkUserAgeWithDocomo failed: unknown result\")\n\n  def retrieveOpenIdAuthUrlWithDocomo(self):\n    self.send_retrieveOpenIdAuthUrlWithDocomo()\n    return self.recv_retrieveOpenIdAuthUrlWithDocomo()\n\n  def send_retrieveOpenIdAuthUrlWithDocomo(self):\n    self._oprot.writeMessageBegin('retrieveOpenIdAuthUrlWithDocomo', TMessageType.CALL, self._seqid)\n    args = retrieveOpenIdAuthUrlWithDocomo_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_retrieveOpenIdAuthUrlWithDocomo(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = retrieveOpenIdAuthUrlWithDocomo_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"retrieveOpenIdAuthUrlWithDocomo failed: unknown result\")\n\n  def retrieveRequestToken(self, carrier):\n    \"\"\"\n    Parameters:\n     - carrier\n    \"\"\"\n    self.send_retrieveRequestToken(carrier)\n    return self.recv_retrieveRequestToken()\n\n  def send_retrieveRequestToken(self, carrier):\n    self._oprot.writeMessageBegin('retrieveRequestToken', TMessageType.CALL, self._seqid)\n    args = retrieveRequestToken_args()\n    args.carrier = carrier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_retrieveRequestToken(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = retrieveRequestToken_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"retrieveRequestToken failed: unknown result\")\n\n  def addBuddyMember(self, requestId, userMid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMid\n    \"\"\"\n    self.send_addBuddyMember(requestId, userMid)\n    self.recv_addBuddyMember()\n\n  def send_addBuddyMember(self, requestId, userMid):\n    self._oprot.writeMessageBegin('addBuddyMember', TMessageType.CALL, self._seqid)\n    args = addBuddyMember_args()\n    args.requestId = requestId\n    args.userMid = userMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_addBuddyMember(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = addBuddyMember_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def addBuddyMembers(self, requestId, userMids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMids\n    \"\"\"\n    self.send_addBuddyMembers(requestId, userMids)\n    self.recv_addBuddyMembers()\n\n  def send_addBuddyMembers(self, requestId, userMids):\n    self._oprot.writeMessageBegin('addBuddyMembers', TMessageType.CALL, self._seqid)\n    args = addBuddyMembers_args()\n    args.requestId = requestId\n    args.userMids = userMids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_addBuddyMembers(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = addBuddyMembers_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def blockBuddyMember(self, requestId, mid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - mid\n    \"\"\"\n    self.send_blockBuddyMember(requestId, mid)\n    self.recv_blockBuddyMember()\n\n  def send_blockBuddyMember(self, requestId, mid):\n    self._oprot.writeMessageBegin('blockBuddyMember', TMessageType.CALL, self._seqid)\n    args = blockBuddyMember_args()\n    args.requestId = requestId\n    args.mid = mid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_blockBuddyMember(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = blockBuddyMember_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def commitSendMessagesToAll(self, requestIdList):\n    \"\"\"\n    Parameters:\n     - requestIdList\n    \"\"\"\n    self.send_commitSendMessagesToAll(requestIdList)\n    return self.recv_commitSendMessagesToAll()\n\n  def send_commitSendMessagesToAll(self, requestIdList):\n    self._oprot.writeMessageBegin('commitSendMessagesToAll', TMessageType.CALL, self._seqid)\n    args = commitSendMessagesToAll_args()\n    args.requestIdList = requestIdList\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_commitSendMessagesToAll(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = commitSendMessagesToAll_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"commitSendMessagesToAll failed: unknown result\")\n\n  def commitSendMessagesTomids(self, requestIdList, mids):\n    \"\"\"\n    Parameters:\n     - requestIdList\n     - mids\n    \"\"\"\n    self.send_commitSendMessagesTomids(requestIdList, mids)\n    return self.recv_commitSendMessagesTomids()\n\n  def send_commitSendMessagesTomids(self, requestIdList, mids):\n    self._oprot.writeMessageBegin('commitSendMessagesTomids', TMessageType.CALL, self._seqid)\n    args = commitSendMessagesTomids_args()\n    args.requestIdList = requestIdList\n    args.mids = mids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_commitSendMessagesTomids(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = commitSendMessagesTomids_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"commitSendMessagesTomids failed: unknown result\")\n\n  def containsBuddyMember(self, requestId, userMid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMid\n    \"\"\"\n    self.send_containsBuddyMember(requestId, userMid)\n    return self.recv_containsBuddyMember()\n\n  def send_containsBuddyMember(self, requestId, userMid):\n    self._oprot.writeMessageBegin('containsBuddyMember', TMessageType.CALL, self._seqid)\n    args = containsBuddyMember_args()\n    args.requestId = requestId\n    args.userMid = userMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_containsBuddyMember(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = containsBuddyMember_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"containsBuddyMember failed: unknown result\")\n\n  def downloadMessageContent(self, requestId, messageId):\n    \"\"\"\n    Parameters:\n     - requestId\n     - messageId\n    \"\"\"\n    self.send_downloadMessageContent(requestId, messageId)\n    return self.recv_downloadMessageContent()\n\n  def send_downloadMessageContent(self, requestId, messageId):\n    self._oprot.writeMessageBegin('downloadMessageContent', TMessageType.CALL, self._seqid)\n    args = downloadMessageContent_args()\n    args.requestId = requestId\n    args.messageId = messageId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_downloadMessageContent(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = downloadMessageContent_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"downloadMessageContent failed: unknown result\")\n\n  def downloadMessageContentPreview(self, requestId, messageId):\n    \"\"\"\n    Parameters:\n     - requestId\n     - messageId\n    \"\"\"\n    self.send_downloadMessageContentPreview(requestId, messageId)\n    return self.recv_downloadMessageContentPreview()\n\n  def send_downloadMessageContentPreview(self, requestId, messageId):\n    self._oprot.writeMessageBegin('downloadMessageContentPreview', TMessageType.CALL, self._seqid)\n    args = downloadMessageContentPreview_args()\n    args.requestId = requestId\n    args.messageId = messageId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_downloadMessageContentPreview(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = downloadMessageContentPreview_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"downloadMessageContentPreview failed: unknown result\")\n\n  def downloadProfileImage(self, requestId):\n    \"\"\"\n    Parameters:\n     - requestId\n    \"\"\"\n    self.send_downloadProfileImage(requestId)\n    return self.recv_downloadProfileImage()\n\n  def send_downloadProfileImage(self, requestId):\n    self._oprot.writeMessageBegin('downloadProfileImage', TMessageType.CALL, self._seqid)\n    args = downloadProfileImage_args()\n    args.requestId = requestId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_downloadProfileImage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = downloadProfileImage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"downloadProfileImage failed: unknown result\")\n\n  def downloadProfileImagePreview(self, requestId):\n    \"\"\"\n    Parameters:\n     - requestId\n    \"\"\"\n    self.send_downloadProfileImagePreview(requestId)\n    return self.recv_downloadProfileImagePreview()\n\n  def send_downloadProfileImagePreview(self, requestId):\n    self._oprot.writeMessageBegin('downloadProfileImagePreview', TMessageType.CALL, self._seqid)\n    args = downloadProfileImagePreview_args()\n    args.requestId = requestId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_downloadProfileImagePreview(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = downloadProfileImagePreview_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"downloadProfileImagePreview failed: unknown result\")\n\n  def getActiveMemberCountByBuddyMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    self.send_getActiveMemberCountByBuddyMid(buddyMid)\n    return self.recv_getActiveMemberCountByBuddyMid()\n\n  def send_getActiveMemberCountByBuddyMid(self, buddyMid):\n    self._oprot.writeMessageBegin('getActiveMemberCountByBuddyMid', TMessageType.CALL, self._seqid)\n    args = getActiveMemberCountByBuddyMid_args()\n    args.buddyMid = buddyMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getActiveMemberCountByBuddyMid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getActiveMemberCountByBuddyMid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getActiveMemberCountByBuddyMid failed: unknown result\")\n\n  def getActiveMemberMidsByBuddyMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    self.send_getActiveMemberMidsByBuddyMid(buddyMid)\n    return self.recv_getActiveMemberMidsByBuddyMid()\n\n  def send_getActiveMemberMidsByBuddyMid(self, buddyMid):\n    self._oprot.writeMessageBegin('getActiveMemberMidsByBuddyMid', TMessageType.CALL, self._seqid)\n    args = getActiveMemberMidsByBuddyMid_args()\n    args.buddyMid = buddyMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getActiveMemberMidsByBuddyMid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getActiveMemberMidsByBuddyMid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getActiveMemberMidsByBuddyMid failed: unknown result\")\n\n  def getAllBuddyMembers(self):\n    self.send_getAllBuddyMembers()\n    return self.recv_getAllBuddyMembers()\n\n  def send_getAllBuddyMembers(self):\n    self._oprot.writeMessageBegin('getAllBuddyMembers', TMessageType.CALL, self._seqid)\n    args = getAllBuddyMembers_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getAllBuddyMembers(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getAllBuddyMembers_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getAllBuddyMembers failed: unknown result\")\n\n  def getBlockedBuddyMembers(self):\n    self.send_getBlockedBuddyMembers()\n    return self.recv_getBlockedBuddyMembers()\n\n  def send_getBlockedBuddyMembers(self):\n    self._oprot.writeMessageBegin('getBlockedBuddyMembers', TMessageType.CALL, self._seqid)\n    args = getBlockedBuddyMembers_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBlockedBuddyMembers(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBlockedBuddyMembers_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBlockedBuddyMembers failed: unknown result\")\n\n  def getBlockerCountByBuddyMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    self.send_getBlockerCountByBuddyMid(buddyMid)\n    return self.recv_getBlockerCountByBuddyMid()\n\n  def send_getBlockerCountByBuddyMid(self, buddyMid):\n    self._oprot.writeMessageBegin('getBlockerCountByBuddyMid', TMessageType.CALL, self._seqid)\n    args = getBlockerCountByBuddyMid_args()\n    args.buddyMid = buddyMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBlockerCountByBuddyMid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBlockerCountByBuddyMid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBlockerCountByBuddyMid failed: unknown result\")\n\n  def getBuddyDetailByMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    self.send_getBuddyDetailByMid(buddyMid)\n    return self.recv_getBuddyDetailByMid()\n\n  def send_getBuddyDetailByMid(self, buddyMid):\n    self._oprot.writeMessageBegin('getBuddyDetailByMid', TMessageType.CALL, self._seqid)\n    args = getBuddyDetailByMid_args()\n    args.buddyMid = buddyMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBuddyDetailByMid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBuddyDetailByMid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBuddyDetailByMid failed: unknown result\")\n\n  def getBuddyProfile(self):\n    self.send_getBuddyProfile()\n    return self.recv_getBuddyProfile()\n\n  def send_getBuddyProfile(self):\n    self._oprot.writeMessageBegin('getBuddyProfile', TMessageType.CALL, self._seqid)\n    args = getBuddyProfile_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBuddyProfile(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBuddyProfile_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBuddyProfile failed: unknown result\")\n\n  def getContactTicket(self):\n    self.send_getContactTicket()\n    return self.recv_getContactTicket()\n\n  def send_getContactTicket(self):\n    self._oprot.writeMessageBegin('getContactTicket', TMessageType.CALL, self._seqid)\n    args = getContactTicket_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getContactTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getContactTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getContactTicket failed: unknown result\")\n\n  def getMemberCountByBuddyMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    self.send_getMemberCountByBuddyMid(buddyMid)\n    return self.recv_getMemberCountByBuddyMid()\n\n  def send_getMemberCountByBuddyMid(self, buddyMid):\n    self._oprot.writeMessageBegin('getMemberCountByBuddyMid', TMessageType.CALL, self._seqid)\n    args = getMemberCountByBuddyMid_args()\n    args.buddyMid = buddyMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMemberCountByBuddyMid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMemberCountByBuddyMid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMemberCountByBuddyMid failed: unknown result\")\n\n  def getSendBuddyMessageResult(self, sendBuddyMessageRequestId):\n    \"\"\"\n    Parameters:\n     - sendBuddyMessageRequestId\n    \"\"\"\n    self.send_getSendBuddyMessageResult(sendBuddyMessageRequestId)\n    return self.recv_getSendBuddyMessageResult()\n\n  def send_getSendBuddyMessageResult(self, sendBuddyMessageRequestId):\n    self._oprot.writeMessageBegin('getSendBuddyMessageResult', TMessageType.CALL, self._seqid)\n    args = getSendBuddyMessageResult_args()\n    args.sendBuddyMessageRequestId = sendBuddyMessageRequestId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getSendBuddyMessageResult(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getSendBuddyMessageResult_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getSendBuddyMessageResult failed: unknown result\")\n\n  def getSetBuddyOnAirResult(self, setBuddyOnAirRequestId):\n    \"\"\"\n    Parameters:\n     - setBuddyOnAirRequestId\n    \"\"\"\n    self.send_getSetBuddyOnAirResult(setBuddyOnAirRequestId)\n    return self.recv_getSetBuddyOnAirResult()\n\n  def send_getSetBuddyOnAirResult(self, setBuddyOnAirRequestId):\n    self._oprot.writeMessageBegin('getSetBuddyOnAirResult', TMessageType.CALL, self._seqid)\n    args = getSetBuddyOnAirResult_args()\n    args.setBuddyOnAirRequestId = setBuddyOnAirRequestId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getSetBuddyOnAirResult(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getSetBuddyOnAirResult_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getSetBuddyOnAirResult failed: unknown result\")\n\n  def getUpdateBuddyProfileResult(self, updateBuddyProfileRequestId):\n    \"\"\"\n    Parameters:\n     - updateBuddyProfileRequestId\n    \"\"\"\n    self.send_getUpdateBuddyProfileResult(updateBuddyProfileRequestId)\n    return self.recv_getUpdateBuddyProfileResult()\n\n  def send_getUpdateBuddyProfileResult(self, updateBuddyProfileRequestId):\n    self._oprot.writeMessageBegin('getUpdateBuddyProfileResult', TMessageType.CALL, self._seqid)\n    args = getUpdateBuddyProfileResult_args()\n    args.updateBuddyProfileRequestId = updateBuddyProfileRequestId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getUpdateBuddyProfileResult(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getUpdateBuddyProfileResult_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getUpdateBuddyProfileResult failed: unknown result\")\n\n  def isBuddyOnAirByMid(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    self.send_isBuddyOnAirByMid(buddyMid)\n    return self.recv_isBuddyOnAirByMid()\n\n  def send_isBuddyOnAirByMid(self, buddyMid):\n    self._oprot.writeMessageBegin('isBuddyOnAirByMid', TMessageType.CALL, self._seqid)\n    args = isBuddyOnAirByMid_args()\n    args.buddyMid = buddyMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_isBuddyOnAirByMid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = isBuddyOnAirByMid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"isBuddyOnAirByMid failed: unknown result\")\n\n  def linkAndSendBuddyContentMessageToAllAsync(self, requestId, msg, sourceContentId):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - sourceContentId\n    \"\"\"\n    self.send_linkAndSendBuddyContentMessageToAllAsync(requestId, msg, sourceContentId)\n    return self.recv_linkAndSendBuddyContentMessageToAllAsync()\n\n  def send_linkAndSendBuddyContentMessageToAllAsync(self, requestId, msg, sourceContentId):\n    self._oprot.writeMessageBegin('linkAndSendBuddyContentMessageToAllAsync', TMessageType.CALL, self._seqid)\n    args = linkAndSendBuddyContentMessageToAllAsync_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.sourceContentId = sourceContentId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_linkAndSendBuddyContentMessageToAllAsync(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = linkAndSendBuddyContentMessageToAllAsync_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"linkAndSendBuddyContentMessageToAllAsync failed: unknown result\")\n\n  def linkAndSendBuddyContentMessageTomids(self, requestId, msg, sourceContentId, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - sourceContentId\n     - mids\n    \"\"\"\n    self.send_linkAndSendBuddyContentMessageTomids(requestId, msg, sourceContentId, mids)\n    return self.recv_linkAndSendBuddyContentMessageTomids()\n\n  def send_linkAndSendBuddyContentMessageTomids(self, requestId, msg, sourceContentId, mids):\n    self._oprot.writeMessageBegin('linkAndSendBuddyContentMessageTomids', TMessageType.CALL, self._seqid)\n    args = linkAndSendBuddyContentMessageTomids_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.sourceContentId = sourceContentId\n    args.mids = mids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_linkAndSendBuddyContentMessageTomids(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = linkAndSendBuddyContentMessageTomids_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"linkAndSendBuddyContentMessageTomids failed: unknown result\")\n\n  def notifyBuddyBlocked(self, buddyMid, blockerMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n     - blockerMid\n    \"\"\"\n    self.send_notifyBuddyBlocked(buddyMid, blockerMid)\n    self.recv_notifyBuddyBlocked()\n\n  def send_notifyBuddyBlocked(self, buddyMid, blockerMid):\n    self._oprot.writeMessageBegin('notifyBuddyBlocked', TMessageType.CALL, self._seqid)\n    args = notifyBuddyBlocked_args()\n    args.buddyMid = buddyMid\n    args.blockerMid = blockerMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifyBuddyBlocked(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifyBuddyBlocked_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def notifyBuddyUnblocked(self, buddyMid, blockerMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n     - blockerMid\n    \"\"\"\n    self.send_notifyBuddyUnblocked(buddyMid, blockerMid)\n    self.recv_notifyBuddyUnblocked()\n\n  def send_notifyBuddyUnblocked(self, buddyMid, blockerMid):\n    self._oprot.writeMessageBegin('notifyBuddyUnblocked', TMessageType.CALL, self._seqid)\n    args = notifyBuddyUnblocked_args()\n    args.buddyMid = buddyMid\n    args.blockerMid = blockerMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifyBuddyUnblocked(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifyBuddyUnblocked_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def registerBuddy(self, buddyId, searchId, displayName, statusMeessage, picture, settings):\n    \"\"\"\n    Parameters:\n     - buddyId\n     - searchId\n     - displayName\n     - statusMeessage\n     - picture\n     - settings\n    \"\"\"\n    self.send_registerBuddy(buddyId, searchId, displayName, statusMeessage, picture, settings)\n    return self.recv_registerBuddy()\n\n  def send_registerBuddy(self, buddyId, searchId, displayName, statusMeessage, picture, settings):\n    self._oprot.writeMessageBegin('registerBuddy', TMessageType.CALL, self._seqid)\n    args = registerBuddy_args()\n    args.buddyId = buddyId\n    args.searchId = searchId\n    args.displayName = displayName\n    args.statusMeessage = statusMeessage\n    args.picture = picture\n    args.settings = settings\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerBuddy(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerBuddy_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerBuddy failed: unknown result\")\n\n  def registerBuddyAdmin(self, buddyId, searchId, displayName, statusMessage, picture):\n    \"\"\"\n    Parameters:\n     - buddyId\n     - searchId\n     - displayName\n     - statusMessage\n     - picture\n    \"\"\"\n    self.send_registerBuddyAdmin(buddyId, searchId, displayName, statusMessage, picture)\n    return self.recv_registerBuddyAdmin()\n\n  def send_registerBuddyAdmin(self, buddyId, searchId, displayName, statusMessage, picture):\n    self._oprot.writeMessageBegin('registerBuddyAdmin', TMessageType.CALL, self._seqid)\n    args = registerBuddyAdmin_args()\n    args.buddyId = buddyId\n    args.searchId = searchId\n    args.displayName = displayName\n    args.statusMessage = statusMessage\n    args.picture = picture\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerBuddyAdmin(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerBuddyAdmin_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerBuddyAdmin failed: unknown result\")\n\n  def reissueContactTicket(self, expirationTime, maxUseCount):\n    \"\"\"\n    Parameters:\n     - expirationTime\n     - maxUseCount\n    \"\"\"\n    self.send_reissueContactTicket(expirationTime, maxUseCount)\n    return self.recv_reissueContactTicket()\n\n  def send_reissueContactTicket(self, expirationTime, maxUseCount):\n    self._oprot.writeMessageBegin('reissueContactTicket', TMessageType.CALL, self._seqid)\n    args = reissueContactTicket_args()\n    args.expirationTime = expirationTime\n    args.maxUseCount = maxUseCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reissueContactTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reissueContactTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"reissueContactTicket failed: unknown result\")\n\n  def removeBuddyMember(self, requestId, userMid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMid\n    \"\"\"\n    self.send_removeBuddyMember(requestId, userMid)\n    self.recv_removeBuddyMember()\n\n  def send_removeBuddyMember(self, requestId, userMid):\n    self._oprot.writeMessageBegin('removeBuddyMember', TMessageType.CALL, self._seqid)\n    args = removeBuddyMember_args()\n    args.requestId = requestId\n    args.userMid = userMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_removeBuddyMember(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = removeBuddyMember_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def removeBuddyMembers(self, requestId, userMids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - userMids\n    \"\"\"\n    self.send_removeBuddyMembers(requestId, userMids)\n    self.recv_removeBuddyMembers()\n\n  def send_removeBuddyMembers(self, requestId, userMids):\n    self._oprot.writeMessageBegin('removeBuddyMembers', TMessageType.CALL, self._seqid)\n    args = removeBuddyMembers_args()\n    args.requestId = requestId\n    args.userMids = userMids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_removeBuddyMembers(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = removeBuddyMembers_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def sendBuddyContentMessageToAll(self, requestId, msg, content):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - content\n    \"\"\"\n    self.send_sendBuddyContentMessageToAll(requestId, msg, content)\n    return self.recv_sendBuddyContentMessageToAll()\n\n  def send_sendBuddyContentMessageToAll(self, requestId, msg, content):\n    self._oprot.writeMessageBegin('sendBuddyContentMessageToAll', TMessageType.CALL, self._seqid)\n    args = sendBuddyContentMessageToAll_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.content = content\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendBuddyContentMessageToAll(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendBuddyContentMessageToAll_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendBuddyContentMessageToAll failed: unknown result\")\n\n  def sendBuddyContentMessageToAllAsync(self, requestId, msg, content):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - content\n    \"\"\"\n    self.send_sendBuddyContentMessageToAllAsync(requestId, msg, content)\n    return self.recv_sendBuddyContentMessageToAllAsync()\n\n  def send_sendBuddyContentMessageToAllAsync(self, requestId, msg, content):\n    self._oprot.writeMessageBegin('sendBuddyContentMessageToAllAsync', TMessageType.CALL, self._seqid)\n    args = sendBuddyContentMessageToAllAsync_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.content = content\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendBuddyContentMessageToAllAsync(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendBuddyContentMessageToAllAsync_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendBuddyContentMessageToAllAsync failed: unknown result\")\n\n  def sendBuddyContentMessageTomids(self, requestId, msg, content, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - content\n     - mids\n    \"\"\"\n    self.send_sendBuddyContentMessageTomids(requestId, msg, content, mids)\n    return self.recv_sendBuddyContentMessageTomids()\n\n  def send_sendBuddyContentMessageTomids(self, requestId, msg, content, mids):\n    self._oprot.writeMessageBegin('sendBuddyContentMessageTomids', TMessageType.CALL, self._seqid)\n    args = sendBuddyContentMessageTomids_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.content = content\n    args.mids = mids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendBuddyContentMessageTomids(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendBuddyContentMessageTomids_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendBuddyContentMessageTomids failed: unknown result\")\n\n  def sendBuddyContentMessageTomidsAsync(self, requestId, msg, content, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - content\n     - mids\n    \"\"\"\n    self.send_sendBuddyContentMessageTomidsAsync(requestId, msg, content, mids)\n    return self.recv_sendBuddyContentMessageTomidsAsync()\n\n  def send_sendBuddyContentMessageTomidsAsync(self, requestId, msg, content, mids):\n    self._oprot.writeMessageBegin('sendBuddyContentMessageTomidsAsync', TMessageType.CALL, self._seqid)\n    args = sendBuddyContentMessageTomidsAsync_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.content = content\n    args.mids = mids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendBuddyContentMessageTomidsAsync(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendBuddyContentMessageTomidsAsync_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendBuddyContentMessageTomidsAsync failed: unknown result\")\n\n  def sendBuddyMessageToAll(self, requestId, msg):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n    \"\"\"\n    self.send_sendBuddyMessageToAll(requestId, msg)\n    return self.recv_sendBuddyMessageToAll()\n\n  def send_sendBuddyMessageToAll(self, requestId, msg):\n    self._oprot.writeMessageBegin('sendBuddyMessageToAll', TMessageType.CALL, self._seqid)\n    args = sendBuddyMessageToAll_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendBuddyMessageToAll(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendBuddyMessageToAll_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendBuddyMessageToAll failed: unknown result\")\n\n  def sendBuddyMessageToAllAsync(self, requestId, msg):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n    \"\"\"\n    self.send_sendBuddyMessageToAllAsync(requestId, msg)\n    return self.recv_sendBuddyMessageToAllAsync()\n\n  def send_sendBuddyMessageToAllAsync(self, requestId, msg):\n    self._oprot.writeMessageBegin('sendBuddyMessageToAllAsync', TMessageType.CALL, self._seqid)\n    args = sendBuddyMessageToAllAsync_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendBuddyMessageToAllAsync(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendBuddyMessageToAllAsync_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendBuddyMessageToAllAsync failed: unknown result\")\n\n  def sendBuddyMessageTomids(self, requestId, msg, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - mids\n    \"\"\"\n    self.send_sendBuddyMessageTomids(requestId, msg, mids)\n    return self.recv_sendBuddyMessageTomids()\n\n  def send_sendBuddyMessageTomids(self, requestId, msg, mids):\n    self._oprot.writeMessageBegin('sendBuddyMessageTomids', TMessageType.CALL, self._seqid)\n    args = sendBuddyMessageTomids_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.mids = mids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendBuddyMessageTomids(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendBuddyMessageTomids_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendBuddyMessageTomids failed: unknown result\")\n\n  def sendBuddyMessageTomidsAsync(self, requestId, msg, mids):\n    \"\"\"\n    Parameters:\n     - requestId\n     - msg\n     - mids\n    \"\"\"\n    self.send_sendBuddyMessageTomidsAsync(requestId, msg, mids)\n    return self.recv_sendBuddyMessageTomidsAsync()\n\n  def send_sendBuddyMessageTomidsAsync(self, requestId, msg, mids):\n    self._oprot.writeMessageBegin('sendBuddyMessageTomidsAsync', TMessageType.CALL, self._seqid)\n    args = sendBuddyMessageTomidsAsync_args()\n    args.requestId = requestId\n    args.msg = msg\n    args.mids = mids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendBuddyMessageTomidsAsync(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendBuddyMessageTomidsAsync_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendBuddyMessageTomidsAsync failed: unknown result\")\n\n  def sendIndividualEventToAllAsync(self, requestId, buddyMid, notificationStatus):\n    \"\"\"\n    Parameters:\n     - requestId\n     - buddyMid\n     - notificationStatus\n    \"\"\"\n    self.send_sendIndividualEventToAllAsync(requestId, buddyMid, notificationStatus)\n    self.recv_sendIndividualEventToAllAsync()\n\n  def send_sendIndividualEventToAllAsync(self, requestId, buddyMid, notificationStatus):\n    self._oprot.writeMessageBegin('sendIndividualEventToAllAsync', TMessageType.CALL, self._seqid)\n    args = sendIndividualEventToAllAsync_args()\n    args.requestId = requestId\n    args.buddyMid = buddyMid\n    args.notificationStatus = notificationStatus\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendIndividualEventToAllAsync(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendIndividualEventToAllAsync_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def setBuddyOnAir(self, requestId, onAir):\n    \"\"\"\n    Parameters:\n     - requestId\n     - onAir\n    \"\"\"\n    self.send_setBuddyOnAir(requestId, onAir)\n    return self.recv_setBuddyOnAir()\n\n  def send_setBuddyOnAir(self, requestId, onAir):\n    self._oprot.writeMessageBegin('setBuddyOnAir', TMessageType.CALL, self._seqid)\n    args = setBuddyOnAir_args()\n    args.requestId = requestId\n    args.onAir = onAir\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_setBuddyOnAir(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = setBuddyOnAir_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"setBuddyOnAir failed: unknown result\")\n\n  def setBuddyOnAirAsync(self, requestId, onAir):\n    \"\"\"\n    Parameters:\n     - requestId\n     - onAir\n    \"\"\"\n    self.send_setBuddyOnAirAsync(requestId, onAir)\n    return self.recv_setBuddyOnAirAsync()\n\n  def send_setBuddyOnAirAsync(self, requestId, onAir):\n    self._oprot.writeMessageBegin('setBuddyOnAirAsync', TMessageType.CALL, self._seqid)\n    args = setBuddyOnAirAsync_args()\n    args.requestId = requestId\n    args.onAir = onAir\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_setBuddyOnAirAsync(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = setBuddyOnAirAsync_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"setBuddyOnAirAsync failed: unknown result\")\n\n  def storeMessage(self, requestId, messageRequest):\n    \"\"\"\n    Parameters:\n     - requestId\n     - messageRequest\n    \"\"\"\n    self.send_storeMessage(requestId, messageRequest)\n    return self.recv_storeMessage()\n\n  def send_storeMessage(self, requestId, messageRequest):\n    self._oprot.writeMessageBegin('storeMessage', TMessageType.CALL, self._seqid)\n    args = storeMessage_args()\n    args.requestId = requestId\n    args.messageRequest = messageRequest\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_storeMessage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = storeMessage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"storeMessage failed: unknown result\")\n\n  def unblockBuddyMember(self, requestId, mid):\n    \"\"\"\n    Parameters:\n     - requestId\n     - mid\n    \"\"\"\n    self.send_unblockBuddyMember(requestId, mid)\n    self.recv_unblockBuddyMember()\n\n  def send_unblockBuddyMember(self, requestId, mid):\n    self._oprot.writeMessageBegin('unblockBuddyMember', TMessageType.CALL, self._seqid)\n    args = unblockBuddyMember_args()\n    args.requestId = requestId\n    args.mid = mid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_unblockBuddyMember(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = unblockBuddyMember_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def unregisterBuddy(self, requestId):\n    \"\"\"\n    Parameters:\n     - requestId\n    \"\"\"\n    self.send_unregisterBuddy(requestId)\n    self.recv_unregisterBuddy()\n\n  def send_unregisterBuddy(self, requestId):\n    self._oprot.writeMessageBegin('unregisterBuddy', TMessageType.CALL, self._seqid)\n    args = unregisterBuddy_args()\n    args.requestId = requestId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_unregisterBuddy(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = unregisterBuddy_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def unregisterBuddyAdmin(self, requestId):\n    \"\"\"\n    Parameters:\n     - requestId\n    \"\"\"\n    self.send_unregisterBuddyAdmin(requestId)\n    self.recv_unregisterBuddyAdmin()\n\n  def send_unregisterBuddyAdmin(self, requestId):\n    self._oprot.writeMessageBegin('unregisterBuddyAdmin', TMessageType.CALL, self._seqid)\n    args = unregisterBuddyAdmin_args()\n    args.requestId = requestId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_unregisterBuddyAdmin(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = unregisterBuddyAdmin_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateBuddyAdminProfileAttribute(self, requestId, attributes):\n    \"\"\"\n    Parameters:\n     - requestId\n     - attributes\n    \"\"\"\n    self.send_updateBuddyAdminProfileAttribute(requestId, attributes)\n    self.recv_updateBuddyAdminProfileAttribute()\n\n  def send_updateBuddyAdminProfileAttribute(self, requestId, attributes):\n    self._oprot.writeMessageBegin('updateBuddyAdminProfileAttribute', TMessageType.CALL, self._seqid)\n    args = updateBuddyAdminProfileAttribute_args()\n    args.requestId = requestId\n    args.attributes = attributes\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateBuddyAdminProfileAttribute(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateBuddyAdminProfileAttribute_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateBuddyAdminProfileImage(self, requestId, picture):\n    \"\"\"\n    Parameters:\n     - requestId\n     - picture\n    \"\"\"\n    self.send_updateBuddyAdminProfileImage(requestId, picture)\n    self.recv_updateBuddyAdminProfileImage()\n\n  def send_updateBuddyAdminProfileImage(self, requestId, picture):\n    self._oprot.writeMessageBegin('updateBuddyAdminProfileImage', TMessageType.CALL, self._seqid)\n    args = updateBuddyAdminProfileImage_args()\n    args.requestId = requestId\n    args.picture = picture\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateBuddyAdminProfileImage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateBuddyAdminProfileImage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateBuddyProfileAttributes(self, requestId, attributes):\n    \"\"\"\n    Parameters:\n     - requestId\n     - attributes\n    \"\"\"\n    self.send_updateBuddyProfileAttributes(requestId, attributes)\n    return self.recv_updateBuddyProfileAttributes()\n\n  def send_updateBuddyProfileAttributes(self, requestId, attributes):\n    self._oprot.writeMessageBegin('updateBuddyProfileAttributes', TMessageType.CALL, self._seqid)\n    args = updateBuddyProfileAttributes_args()\n    args.requestId = requestId\n    args.attributes = attributes\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateBuddyProfileAttributes(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateBuddyProfileAttributes_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"updateBuddyProfileAttributes failed: unknown result\")\n\n  def updateBuddyProfileAttributesAsync(self, requestId, attributes):\n    \"\"\"\n    Parameters:\n     - requestId\n     - attributes\n    \"\"\"\n    self.send_updateBuddyProfileAttributesAsync(requestId, attributes)\n    return self.recv_updateBuddyProfileAttributesAsync()\n\n  def send_updateBuddyProfileAttributesAsync(self, requestId, attributes):\n    self._oprot.writeMessageBegin('updateBuddyProfileAttributesAsync', TMessageType.CALL, self._seqid)\n    args = updateBuddyProfileAttributesAsync_args()\n    args.requestId = requestId\n    args.attributes = attributes\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateBuddyProfileAttributesAsync(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateBuddyProfileAttributesAsync_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"updateBuddyProfileAttributesAsync failed: unknown result\")\n\n  def updateBuddyProfileImage(self, requestId, image):\n    \"\"\"\n    Parameters:\n     - requestId\n     - image\n    \"\"\"\n    self.send_updateBuddyProfileImage(requestId, image)\n    return self.recv_updateBuddyProfileImage()\n\n  def send_updateBuddyProfileImage(self, requestId, image):\n    self._oprot.writeMessageBegin('updateBuddyProfileImage', TMessageType.CALL, self._seqid)\n    args = updateBuddyProfileImage_args()\n    args.requestId = requestId\n    args.image = image\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateBuddyProfileImage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateBuddyProfileImage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"updateBuddyProfileImage failed: unknown result\")\n\n  def updateBuddyProfileImageAsync(self, requestId, image):\n    \"\"\"\n    Parameters:\n     - requestId\n     - image\n    \"\"\"\n    self.send_updateBuddyProfileImageAsync(requestId, image)\n    return self.recv_updateBuddyProfileImageAsync()\n\n  def send_updateBuddyProfileImageAsync(self, requestId, image):\n    self._oprot.writeMessageBegin('updateBuddyProfileImageAsync', TMessageType.CALL, self._seqid)\n    args = updateBuddyProfileImageAsync_args()\n    args.requestId = requestId\n    args.image = image\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateBuddyProfileImageAsync(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateBuddyProfileImageAsync_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"updateBuddyProfileImageAsync failed: unknown result\")\n\n  def updateBuddySearchId(self, requestId, searchId):\n    \"\"\"\n    Parameters:\n     - requestId\n     - searchId\n    \"\"\"\n    self.send_updateBuddySearchId(requestId, searchId)\n    self.recv_updateBuddySearchId()\n\n  def send_updateBuddySearchId(self, requestId, searchId):\n    self._oprot.writeMessageBegin('updateBuddySearchId', TMessageType.CALL, self._seqid)\n    args = updateBuddySearchId_args()\n    args.requestId = requestId\n    args.searchId = searchId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateBuddySearchId(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateBuddySearchId_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateBuddySettings(self, settings):\n    \"\"\"\n    Parameters:\n     - settings\n    \"\"\"\n    self.send_updateBuddySettings(settings)\n    self.recv_updateBuddySettings()\n\n  def send_updateBuddySettings(self, settings):\n    self._oprot.writeMessageBegin('updateBuddySettings', TMessageType.CALL, self._seqid)\n    args = updateBuddySettings_args()\n    args.settings = settings\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateBuddySettings(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateBuddySettings_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def uploadBuddyContent(self, contentType, content):\n    \"\"\"\n    Parameters:\n     - contentType\n     - content\n    \"\"\"\n    self.send_uploadBuddyContent(contentType, content)\n    return self.recv_uploadBuddyContent()\n\n  def send_uploadBuddyContent(self, contentType, content):\n    self._oprot.writeMessageBegin('uploadBuddyContent', TMessageType.CALL, self._seqid)\n    args = uploadBuddyContent_args()\n    args.contentType = contentType\n    args.content = content\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_uploadBuddyContent(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = uploadBuddyContent_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"uploadBuddyContent failed: unknown result\")\n\n  def findBuddyContactsByQuery(self, language, country, query, fromIndex, count, requestSource):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n     - query\n     - fromIndex\n     - count\n     - requestSource\n    \"\"\"\n    self.send_findBuddyContactsByQuery(language, country, query, fromIndex, count, requestSource)\n    return self.recv_findBuddyContactsByQuery()\n\n  def send_findBuddyContactsByQuery(self, language, country, query, fromIndex, count, requestSource):\n    self._oprot.writeMessageBegin('findBuddyContactsByQuery', TMessageType.CALL, self._seqid)\n    args = findBuddyContactsByQuery_args()\n    args.language = language\n    args.country = country\n    args.query = query\n    args.fromIndex = fromIndex\n    args.count = count\n    args.requestSource = requestSource\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findBuddyContactsByQuery(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findBuddyContactsByQuery_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findBuddyContactsByQuery failed: unknown result\")\n\n  def getBuddyContacts(self, language, country, classification, fromIndex, count):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n     - classification\n     - fromIndex\n     - count\n    \"\"\"\n    self.send_getBuddyContacts(language, country, classification, fromIndex, count)\n    return self.recv_getBuddyContacts()\n\n  def send_getBuddyContacts(self, language, country, classification, fromIndex, count):\n    self._oprot.writeMessageBegin('getBuddyContacts', TMessageType.CALL, self._seqid)\n    args = getBuddyContacts_args()\n    args.language = language\n    args.country = country\n    args.classification = classification\n    args.fromIndex = fromIndex\n    args.count = count\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBuddyContacts(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBuddyContacts_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBuddyContacts failed: unknown result\")\n\n  def getBuddyDetail(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    self.send_getBuddyDetail(buddyMid)\n    return self.recv_getBuddyDetail()\n\n  def send_getBuddyDetail(self, buddyMid):\n    self._oprot.writeMessageBegin('getBuddyDetail', TMessageType.CALL, self._seqid)\n    args = getBuddyDetail_args()\n    args.buddyMid = buddyMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBuddyDetail(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBuddyDetail_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBuddyDetail failed: unknown result\")\n\n  def getBuddyOnAir(self, buddyMid):\n    \"\"\"\n    Parameters:\n     - buddyMid\n    \"\"\"\n    self.send_getBuddyOnAir(buddyMid)\n    return self.recv_getBuddyOnAir()\n\n  def send_getBuddyOnAir(self, buddyMid):\n    self._oprot.writeMessageBegin('getBuddyOnAir', TMessageType.CALL, self._seqid)\n    args = getBuddyOnAir_args()\n    args.buddyMid = buddyMid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBuddyOnAir(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBuddyOnAir_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBuddyOnAir failed: unknown result\")\n\n  def getCountriesHavingBuddy(self):\n    self.send_getCountriesHavingBuddy()\n    return self.recv_getCountriesHavingBuddy()\n\n  def send_getCountriesHavingBuddy(self):\n    self._oprot.writeMessageBegin('getCountriesHavingBuddy', TMessageType.CALL, self._seqid)\n    args = getCountriesHavingBuddy_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCountriesHavingBuddy(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCountriesHavingBuddy_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCountriesHavingBuddy failed: unknown result\")\n\n  def getNewlyReleasedBuddyIds(self, country):\n    \"\"\"\n    Parameters:\n     - country\n    \"\"\"\n    self.send_getNewlyReleasedBuddyIds(country)\n    return self.recv_getNewlyReleasedBuddyIds()\n\n  def send_getNewlyReleasedBuddyIds(self, country):\n    self._oprot.writeMessageBegin('getNewlyReleasedBuddyIds', TMessageType.CALL, self._seqid)\n    args = getNewlyReleasedBuddyIds_args()\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getNewlyReleasedBuddyIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getNewlyReleasedBuddyIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getNewlyReleasedBuddyIds failed: unknown result\")\n\n  def getPopularBuddyBanner(self, language, country, applicationType, resourceSpecification):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n     - applicationType\n     - resourceSpecification\n    \"\"\"\n    self.send_getPopularBuddyBanner(language, country, applicationType, resourceSpecification)\n    return self.recv_getPopularBuddyBanner()\n\n  def send_getPopularBuddyBanner(self, language, country, applicationType, resourceSpecification):\n    self._oprot.writeMessageBegin('getPopularBuddyBanner', TMessageType.CALL, self._seqid)\n    args = getPopularBuddyBanner_args()\n    args.language = language\n    args.country = country\n    args.applicationType = applicationType\n    args.resourceSpecification = resourceSpecification\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getPopularBuddyBanner(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getPopularBuddyBanner_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getPopularBuddyBanner failed: unknown result\")\n\n  def getPopularBuddyLists(self, language, country):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n    \"\"\"\n    self.send_getPopularBuddyLists(language, country)\n    return self.recv_getPopularBuddyLists()\n\n  def send_getPopularBuddyLists(self, language, country):\n    self._oprot.writeMessageBegin('getPopularBuddyLists', TMessageType.CALL, self._seqid)\n    args = getPopularBuddyLists_args()\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getPopularBuddyLists(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getPopularBuddyLists_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getPopularBuddyLists failed: unknown result\")\n\n  def getPromotedBuddyContacts(self, language, country):\n    \"\"\"\n    Parameters:\n     - language\n     - country\n    \"\"\"\n    self.send_getPromotedBuddyContacts(language, country)\n    return self.recv_getPromotedBuddyContacts()\n\n  def send_getPromotedBuddyContacts(self, language, country):\n    self._oprot.writeMessageBegin('getPromotedBuddyContacts', TMessageType.CALL, self._seqid)\n    args = getPromotedBuddyContacts_args()\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getPromotedBuddyContacts(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getPromotedBuddyContacts_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getPromotedBuddyContacts failed: unknown result\")\n\n  def activeBuddySubscriberCount(self):\n    self.send_activeBuddySubscriberCount()\n    return self.recv_activeBuddySubscriberCount()\n\n  def send_activeBuddySubscriberCount(self):\n    self._oprot.writeMessageBegin('activeBuddySubscriberCount', TMessageType.CALL, self._seqid)\n    args = activeBuddySubscriberCount_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_activeBuddySubscriberCount(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = activeBuddySubscriberCount_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"activeBuddySubscriberCount failed: unknown result\")\n\n  def addOperationForChannel(self, opType, param1, param2, param3):\n    \"\"\"\n    Parameters:\n     - opType\n     - param1\n     - param2\n     - param3\n    \"\"\"\n    self.send_addOperationForChannel(opType, param1, param2, param3)\n    self.recv_addOperationForChannel()\n\n  def send_addOperationForChannel(self, opType, param1, param2, param3):\n    self._oprot.writeMessageBegin('addOperationForChannel', TMessageType.CALL, self._seqid)\n    args = addOperationForChannel_args()\n    args.opType = opType\n    args.param1 = param1\n    args.param2 = param2\n    args.param3 = param3\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_addOperationForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = addOperationForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def displayBuddySubscriberCount(self):\n    self.send_displayBuddySubscriberCount()\n    return self.recv_displayBuddySubscriberCount()\n\n  def send_displayBuddySubscriberCount(self):\n    self._oprot.writeMessageBegin('displayBuddySubscriberCount', TMessageType.CALL, self._seqid)\n    args = displayBuddySubscriberCount_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_displayBuddySubscriberCount(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = displayBuddySubscriberCount_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"displayBuddySubscriberCount failed: unknown result\")\n\n  def findContactByUseridWithoutAbuseBlockForChannel(self, userid):\n    \"\"\"\n    Parameters:\n     - userid\n    \"\"\"\n    self.send_findContactByUseridWithoutAbuseBlockForChannel(userid)\n    return self.recv_findContactByUseridWithoutAbuseBlockForChannel()\n\n  def send_findContactByUseridWithoutAbuseBlockForChannel(self, userid):\n    self._oprot.writeMessageBegin('findContactByUseridWithoutAbuseBlockForChannel', TMessageType.CALL, self._seqid)\n    args = findContactByUseridWithoutAbuseBlockForChannel_args()\n    args.userid = userid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findContactByUseridWithoutAbuseBlockForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findContactByUseridWithoutAbuseBlockForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findContactByUseridWithoutAbuseBlockForChannel failed: unknown result\")\n\n  def getAllContactIdsForChannel(self):\n    self.send_getAllContactIdsForChannel()\n    return self.recv_getAllContactIdsForChannel()\n\n  def send_getAllContactIdsForChannel(self):\n    self._oprot.writeMessageBegin('getAllContactIdsForChannel', TMessageType.CALL, self._seqid)\n    args = getAllContactIdsForChannel_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getAllContactIdsForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getAllContactIdsForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getAllContactIdsForChannel failed: unknown result\")\n\n  def getCompactContacts(self, lastModifiedTimestamp):\n    \"\"\"\n    Parameters:\n     - lastModifiedTimestamp\n    \"\"\"\n    self.send_getCompactContacts(lastModifiedTimestamp)\n    return self.recv_getCompactContacts()\n\n  def send_getCompactContacts(self, lastModifiedTimestamp):\n    self._oprot.writeMessageBegin('getCompactContacts', TMessageType.CALL, self._seqid)\n    args = getCompactContacts_args()\n    args.lastModifiedTimestamp = lastModifiedTimestamp\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCompactContacts(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCompactContacts_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCompactContacts failed: unknown result\")\n\n  def getContactsForChannel(self, ids):\n    \"\"\"\n    Parameters:\n     - ids\n    \"\"\"\n    self.send_getContactsForChannel(ids)\n    return self.recv_getContactsForChannel()\n\n  def send_getContactsForChannel(self, ids):\n    self._oprot.writeMessageBegin('getContactsForChannel', TMessageType.CALL, self._seqid)\n    args = getContactsForChannel_args()\n    args.ids = ids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getContactsForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getContactsForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getContactsForChannel failed: unknown result\")\n\n  def getDisplayName(self, mid):\n    \"\"\"\n    Parameters:\n     - mid\n    \"\"\"\n    self.send_getDisplayName(mid)\n    return self.recv_getDisplayName()\n\n  def send_getDisplayName(self, mid):\n    self._oprot.writeMessageBegin('getDisplayName', TMessageType.CALL, self._seqid)\n    args = getDisplayName_args()\n    args.mid = mid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getDisplayName(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getDisplayName_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getDisplayName failed: unknown result\")\n\n  def getFavoriteMidsForChannel(self):\n    self.send_getFavoriteMidsForChannel()\n    return self.recv_getFavoriteMidsForChannel()\n\n  def send_getFavoriteMidsForChannel(self):\n    self._oprot.writeMessageBegin('getFavoriteMidsForChannel', TMessageType.CALL, self._seqid)\n    args = getFavoriteMidsForChannel_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getFavoriteMidsForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getFavoriteMidsForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getFavoriteMidsForChannel failed: unknown result\")\n\n  def getFriendMids(self):\n    self.send_getFriendMids()\n    return self.recv_getFriendMids()\n\n  def send_getFriendMids(self):\n    self._oprot.writeMessageBegin('getFriendMids', TMessageType.CALL, self._seqid)\n    args = getFriendMids_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getFriendMids(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getFriendMids_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getFriendMids failed: unknown result\")\n\n  def getGroupMemberMids(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    self.send_getGroupMemberMids(groupId)\n    return self.recv_getGroupMemberMids()\n\n  def send_getGroupMemberMids(self, groupId):\n    self._oprot.writeMessageBegin('getGroupMemberMids', TMessageType.CALL, self._seqid)\n    args = getGroupMemberMids_args()\n    args.groupId = groupId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getGroupMemberMids(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getGroupMemberMids_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getGroupMemberMids failed: unknown result\")\n\n  def getGroupsForChannel(self, groupIds):\n    \"\"\"\n    Parameters:\n     - groupIds\n    \"\"\"\n    self.send_getGroupsForChannel(groupIds)\n    return self.recv_getGroupsForChannel()\n\n  def send_getGroupsForChannel(self, groupIds):\n    self._oprot.writeMessageBegin('getGroupsForChannel', TMessageType.CALL, self._seqid)\n    args = getGroupsForChannel_args()\n    args.groupIds = groupIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getGroupsForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getGroupsForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getGroupsForChannel failed: unknown result\")\n\n  def getIdentityCredential(self):\n    self.send_getIdentityCredential()\n    return self.recv_getIdentityCredential()\n\n  def send_getIdentityCredential(self):\n    self._oprot.writeMessageBegin('getIdentityCredential', TMessageType.CALL, self._seqid)\n    args = getIdentityCredential_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getIdentityCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getIdentityCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getIdentityCredential failed: unknown result\")\n\n  def getJoinedGroupIdsForChannel(self):\n    self.send_getJoinedGroupIdsForChannel()\n    return self.recv_getJoinedGroupIdsForChannel()\n\n  def send_getJoinedGroupIdsForChannel(self):\n    self._oprot.writeMessageBegin('getJoinedGroupIdsForChannel', TMessageType.CALL, self._seqid)\n    args = getJoinedGroupIdsForChannel_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getJoinedGroupIdsForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getJoinedGroupIdsForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getJoinedGroupIdsForChannel failed: unknown result\")\n\n  def getMetaProfile(self):\n    self.send_getMetaProfile()\n    return self.recv_getMetaProfile()\n\n  def send_getMetaProfile(self):\n    self._oprot.writeMessageBegin('getMetaProfile', TMessageType.CALL, self._seqid)\n    args = getMetaProfile_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMetaProfile(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMetaProfile_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMetaProfile failed: unknown result\")\n\n  def getMid(self):\n    self.send_getMid()\n    return self.recv_getMid()\n\n  def send_getMid(self):\n    self._oprot.writeMessageBegin('getMid', TMessageType.CALL, self._seqid)\n    args = getMid_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMid failed: unknown result\")\n\n  def getPrimaryClientForChannel(self):\n    self.send_getPrimaryClientForChannel()\n    return self.recv_getPrimaryClientForChannel()\n\n  def send_getPrimaryClientForChannel(self):\n    self._oprot.writeMessageBegin('getPrimaryClientForChannel', TMessageType.CALL, self._seqid)\n    args = getPrimaryClientForChannel_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getPrimaryClientForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getPrimaryClientForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getPrimaryClientForChannel failed: unknown result\")\n\n  def getProfileForChannel(self):\n    self.send_getProfileForChannel()\n    return self.recv_getProfileForChannel()\n\n  def send_getProfileForChannel(self):\n    self._oprot.writeMessageBegin('getProfileForChannel', TMessageType.CALL, self._seqid)\n    args = getProfileForChannel_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getProfileForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getProfileForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getProfileForChannel failed: unknown result\")\n\n  def getSimpleChannelContacts(self, ids):\n    \"\"\"\n    Parameters:\n     - ids\n    \"\"\"\n    self.send_getSimpleChannelContacts(ids)\n    return self.recv_getSimpleChannelContacts()\n\n  def send_getSimpleChannelContacts(self, ids):\n    self._oprot.writeMessageBegin('getSimpleChannelContacts', TMessageType.CALL, self._seqid)\n    args = getSimpleChannelContacts_args()\n    args.ids = ids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getSimpleChannelContacts(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getSimpleChannelContacts_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getSimpleChannelContacts failed: unknown result\")\n\n  def getUserCountryForBilling(self, country, remoteIp):\n    \"\"\"\n    Parameters:\n     - country\n     - remoteIp\n    \"\"\"\n    self.send_getUserCountryForBilling(country, remoteIp)\n    return self.recv_getUserCountryForBilling()\n\n  def send_getUserCountryForBilling(self, country, remoteIp):\n    self._oprot.writeMessageBegin('getUserCountryForBilling', TMessageType.CALL, self._seqid)\n    args = getUserCountryForBilling_args()\n    args.country = country\n    args.remoteIp = remoteIp\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getUserCountryForBilling(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getUserCountryForBilling_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getUserCountryForBilling failed: unknown result\")\n\n  def getUserCreateTime(self):\n    self.send_getUserCreateTime()\n    return self.recv_getUserCreateTime()\n\n  def send_getUserCreateTime(self):\n    self._oprot.writeMessageBegin('getUserCreateTime', TMessageType.CALL, self._seqid)\n    args = getUserCreateTime_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getUserCreateTime(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getUserCreateTime_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getUserCreateTime failed: unknown result\")\n\n  def getUserIdentities(self):\n    self.send_getUserIdentities()\n    return self.recv_getUserIdentities()\n\n  def send_getUserIdentities(self):\n    self._oprot.writeMessageBegin('getUserIdentities', TMessageType.CALL, self._seqid)\n    args = getUserIdentities_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getUserIdentities(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getUserIdentities_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getUserIdentities failed: unknown result\")\n\n  def getUserLanguage(self):\n    self.send_getUserLanguage()\n    return self.recv_getUserLanguage()\n\n  def send_getUserLanguage(self):\n    self._oprot.writeMessageBegin('getUserLanguage', TMessageType.CALL, self._seqid)\n    args = getUserLanguage_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getUserLanguage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getUserLanguage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getUserLanguage failed: unknown result\")\n\n  def getUserMidsWhoAddedMe(self):\n    self.send_getUserMidsWhoAddedMe()\n    return self.recv_getUserMidsWhoAddedMe()\n\n  def send_getUserMidsWhoAddedMe(self):\n    self._oprot.writeMessageBegin('getUserMidsWhoAddedMe', TMessageType.CALL, self._seqid)\n    args = getUserMidsWhoAddedMe_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getUserMidsWhoAddedMe(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getUserMidsWhoAddedMe_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getUserMidsWhoAddedMe failed: unknown result\")\n\n  def isGroupMember(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    self.send_isGroupMember(groupId)\n    return self.recv_isGroupMember()\n\n  def send_isGroupMember(self, groupId):\n    self._oprot.writeMessageBegin('isGroupMember', TMessageType.CALL, self._seqid)\n    args = isGroupMember_args()\n    args.groupId = groupId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_isGroupMember(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = isGroupMember_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"isGroupMember failed: unknown result\")\n\n  def isInContact(self, mid):\n    \"\"\"\n    Parameters:\n     - mid\n    \"\"\"\n    self.send_isInContact(mid)\n    return self.recv_isInContact()\n\n  def send_isInContact(self, mid):\n    self._oprot.writeMessageBegin('isInContact', TMessageType.CALL, self._seqid)\n    args = isInContact_args()\n    args.mid = mid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_isInContact(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = isInContact_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"isInContact failed: unknown result\")\n\n  def registerChannelCP(self, cpId, registerPassword):\n    \"\"\"\n    Parameters:\n     - cpId\n     - registerPassword\n    \"\"\"\n    self.send_registerChannelCP(cpId, registerPassword)\n    return self.recv_registerChannelCP()\n\n  def send_registerChannelCP(self, cpId, registerPassword):\n    self._oprot.writeMessageBegin('registerChannelCP', TMessageType.CALL, self._seqid)\n    args = registerChannelCP_args()\n    args.cpId = cpId\n    args.registerPassword = registerPassword\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerChannelCP(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerChannelCP_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerChannelCP failed: unknown result\")\n\n  def removeNotificationStatus(self, notificationStatus):\n    \"\"\"\n    Parameters:\n     - notificationStatus\n    \"\"\"\n    self.send_removeNotificationStatus(notificationStatus)\n    self.recv_removeNotificationStatus()\n\n  def send_removeNotificationStatus(self, notificationStatus):\n    self._oprot.writeMessageBegin('removeNotificationStatus', TMessageType.CALL, self._seqid)\n    args = removeNotificationStatus_args()\n    args.notificationStatus = notificationStatus\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_removeNotificationStatus(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = removeNotificationStatus_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def sendMessageForChannel(self, message):\n    \"\"\"\n    Parameters:\n     - message\n    \"\"\"\n    self.send_sendMessageForChannel(message)\n    return self.recv_sendMessageForChannel()\n\n  def send_sendMessageForChannel(self, message):\n    self._oprot.writeMessageBegin('sendMessageForChannel', TMessageType.CALL, self._seqid)\n    args = sendMessageForChannel_args()\n    args.message = message\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendMessageForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendMessageForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendMessageForChannel failed: unknown result\")\n\n  def sendPinCodeOperation(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    self.send_sendPinCodeOperation(verifier)\n    self.recv_sendPinCodeOperation()\n\n  def send_sendPinCodeOperation(self, verifier):\n    self._oprot.writeMessageBegin('sendPinCodeOperation', TMessageType.CALL, self._seqid)\n    args = sendPinCodeOperation_args()\n    args.verifier = verifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendPinCodeOperation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendPinCodeOperation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateProfileAttributeForChannel(self, profileAttribute, value):\n    \"\"\"\n    Parameters:\n     - profileAttribute\n     - value\n    \"\"\"\n    self.send_updateProfileAttributeForChannel(profileAttribute, value)\n    self.recv_updateProfileAttributeForChannel()\n\n  def send_updateProfileAttributeForChannel(self, profileAttribute, value):\n    self._oprot.writeMessageBegin('updateProfileAttributeForChannel', TMessageType.CALL, self._seqid)\n    args = updateProfileAttributeForChannel_args()\n    args.profileAttribute = profileAttribute\n    args.value = value\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateProfileAttributeForChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateProfileAttributeForChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def approveChannelAndIssueChannelToken(self, channelId):\n    \"\"\"\n    Parameters:\n     - channelId\n    \"\"\"\n    self.send_approveChannelAndIssueChannelToken(channelId)\n    return self.recv_approveChannelAndIssueChannelToken()\n\n  def send_approveChannelAndIssueChannelToken(self, channelId):\n    self._oprot.writeMessageBegin('approveChannelAndIssueChannelToken', TMessageType.CALL, self._seqid)\n    args = approveChannelAndIssueChannelToken_args()\n    args.channelId = channelId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_approveChannelAndIssueChannelToken(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = approveChannelAndIssueChannelToken_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"approveChannelAndIssueChannelToken failed: unknown result\")\n\n  def approveChannelAndIssueRequestToken(self, channelId, otpId):\n    \"\"\"\n    Parameters:\n     - channelId\n     - otpId\n    \"\"\"\n    self.send_approveChannelAndIssueRequestToken(channelId, otpId)\n    return self.recv_approveChannelAndIssueRequestToken()\n\n  def send_approveChannelAndIssueRequestToken(self, channelId, otpId):\n    self._oprot.writeMessageBegin('approveChannelAndIssueRequestToken', TMessageType.CALL, self._seqid)\n    args = approveChannelAndIssueRequestToken_args()\n    args.channelId = channelId\n    args.otpId = otpId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_approveChannelAndIssueRequestToken(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = approveChannelAndIssueRequestToken_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"approveChannelAndIssueRequestToken failed: unknown result\")\n\n  def fetchNotificationItems(self, localRev):\n    \"\"\"\n    Parameters:\n     - localRev\n    \"\"\"\n    self.send_fetchNotificationItems(localRev)\n    return self.recv_fetchNotificationItems()\n\n  def send_fetchNotificationItems(self, localRev):\n    self._oprot.writeMessageBegin('fetchNotificationItems', TMessageType.CALL, self._seqid)\n    args = fetchNotificationItems_args()\n    args.localRev = localRev\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_fetchNotificationItems(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = fetchNotificationItems_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"fetchNotificationItems failed: unknown result\")\n\n  def getApprovedChannels(self, lastSynced, locale):\n    \"\"\"\n    Parameters:\n     - lastSynced\n     - locale\n    \"\"\"\n    self.send_getApprovedChannels(lastSynced, locale)\n    return self.recv_getApprovedChannels()\n\n  def send_getApprovedChannels(self, lastSynced, locale):\n    self._oprot.writeMessageBegin('getApprovedChannels', TMessageType.CALL, self._seqid)\n    args = getApprovedChannels_args()\n    args.lastSynced = lastSynced\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getApprovedChannels(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getApprovedChannels_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getApprovedChannels failed: unknown result\")\n\n  def getChannelInfo(self, channelId, locale):\n    \"\"\"\n    Parameters:\n     - channelId\n     - locale\n    \"\"\"\n    self.send_getChannelInfo(channelId, locale)\n    return self.recv_getChannelInfo()\n\n  def send_getChannelInfo(self, channelId, locale):\n    self._oprot.writeMessageBegin('getChannelInfo', TMessageType.CALL, self._seqid)\n    args = getChannelInfo_args()\n    args.channelId = channelId\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getChannelInfo(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getChannelInfo_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getChannelInfo failed: unknown result\")\n\n  def getChannelNotificationSetting(self, channelId, locale):\n    \"\"\"\n    Parameters:\n     - channelId\n     - locale\n    \"\"\"\n    self.send_getChannelNotificationSetting(channelId, locale)\n    return self.recv_getChannelNotificationSetting()\n\n  def send_getChannelNotificationSetting(self, channelId, locale):\n    self._oprot.writeMessageBegin('getChannelNotificationSetting', TMessageType.CALL, self._seqid)\n    args = getChannelNotificationSetting_args()\n    args.channelId = channelId\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getChannelNotificationSetting(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getChannelNotificationSetting_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getChannelNotificationSetting failed: unknown result\")\n\n  def getChannelNotificationSettings(self, locale):\n    \"\"\"\n    Parameters:\n     - locale\n    \"\"\"\n    self.send_getChannelNotificationSettings(locale)\n    return self.recv_getChannelNotificationSettings()\n\n  def send_getChannelNotificationSettings(self, locale):\n    self._oprot.writeMessageBegin('getChannelNotificationSettings', TMessageType.CALL, self._seqid)\n    args = getChannelNotificationSettings_args()\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getChannelNotificationSettings(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getChannelNotificationSettings_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getChannelNotificationSettings failed: unknown result\")\n\n  def getChannels(self, lastSynced, locale):\n    \"\"\"\n    Parameters:\n     - lastSynced\n     - locale\n    \"\"\"\n    self.send_getChannels(lastSynced, locale)\n    return self.recv_getChannels()\n\n  def send_getChannels(self, lastSynced, locale):\n    self._oprot.writeMessageBegin('getChannels', TMessageType.CALL, self._seqid)\n    args = getChannels_args()\n    args.lastSynced = lastSynced\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getChannels(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getChannels_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getChannels failed: unknown result\")\n\n  def getDomains(self, lastSynced):\n    \"\"\"\n    Parameters:\n     - lastSynced\n    \"\"\"\n    self.send_getDomains(lastSynced)\n    return self.recv_getDomains()\n\n  def send_getDomains(self, lastSynced):\n    self._oprot.writeMessageBegin('getDomains', TMessageType.CALL, self._seqid)\n    args = getDomains_args()\n    args.lastSynced = lastSynced\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getDomains(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getDomains_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getDomains failed: unknown result\")\n\n  def getFriendChannelMatrices(self, channelIds):\n    \"\"\"\n    Parameters:\n     - channelIds\n    \"\"\"\n    self.send_getFriendChannelMatrices(channelIds)\n    return self.recv_getFriendChannelMatrices()\n\n  def send_getFriendChannelMatrices(self, channelIds):\n    self._oprot.writeMessageBegin('getFriendChannelMatrices', TMessageType.CALL, self._seqid)\n    args = getFriendChannelMatrices_args()\n    args.channelIds = channelIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getFriendChannelMatrices(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getFriendChannelMatrices_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getFriendChannelMatrices failed: unknown result\")\n\n  def getNotificationBadgeCount(self, localRev):\n    \"\"\"\n    Parameters:\n     - localRev\n    \"\"\"\n    self.send_getNotificationBadgeCount(localRev)\n    return self.recv_getNotificationBadgeCount()\n\n  def send_getNotificationBadgeCount(self, localRev):\n    self._oprot.writeMessageBegin('getNotificationBadgeCount', TMessageType.CALL, self._seqid)\n    args = getNotificationBadgeCount_args()\n    args.localRev = localRev\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getNotificationBadgeCount(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getNotificationBadgeCount_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getNotificationBadgeCount failed: unknown result\")\n\n  def issueChannelToken(self, channelId):\n    \"\"\"\n    Parameters:\n     - channelId\n    \"\"\"\n    self.send_issueChannelToken(channelId)\n    return self.recv_issueChannelToken()\n\n  def send_issueChannelToken(self, channelId):\n    self._oprot.writeMessageBegin('issueChannelToken', TMessageType.CALL, self._seqid)\n    args = issueChannelToken_args()\n    args.channelId = channelId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_issueChannelToken(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = issueChannelToken_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"issueChannelToken failed: unknown result\")\n\n  def issueRequestToken(self, channelId, otpId):\n    \"\"\"\n    Parameters:\n     - channelId\n     - otpId\n    \"\"\"\n    self.send_issueRequestToken(channelId, otpId)\n    return self.recv_issueRequestToken()\n\n  def send_issueRequestToken(self, channelId, otpId):\n    self._oprot.writeMessageBegin('issueRequestToken', TMessageType.CALL, self._seqid)\n    args = issueRequestToken_args()\n    args.channelId = channelId\n    args.otpId = otpId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_issueRequestToken(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = issueRequestToken_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"issueRequestToken failed: unknown result\")\n\n  def issueRequestTokenWithAuthScheme(self, channelId, otpId, authScheme, returnUrl):\n    \"\"\"\n    Parameters:\n     - channelId\n     - otpId\n     - authScheme\n     - returnUrl\n    \"\"\"\n    self.send_issueRequestTokenWithAuthScheme(channelId, otpId, authScheme, returnUrl)\n    return self.recv_issueRequestTokenWithAuthScheme()\n\n  def send_issueRequestTokenWithAuthScheme(self, channelId, otpId, authScheme, returnUrl):\n    self._oprot.writeMessageBegin('issueRequestTokenWithAuthScheme', TMessageType.CALL, self._seqid)\n    args = issueRequestTokenWithAuthScheme_args()\n    args.channelId = channelId\n    args.otpId = otpId\n    args.authScheme = authScheme\n    args.returnUrl = returnUrl\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_issueRequestTokenWithAuthScheme(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = issueRequestTokenWithAuthScheme_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"issueRequestTokenWithAuthScheme failed: unknown result\")\n\n  def reserveCoinUse(self, request, locale):\n    \"\"\"\n    Parameters:\n     - request\n     - locale\n    \"\"\"\n    self.send_reserveCoinUse(request, locale)\n    return self.recv_reserveCoinUse()\n\n  def send_reserveCoinUse(self, request, locale):\n    self._oprot.writeMessageBegin('reserveCoinUse', TMessageType.CALL, self._seqid)\n    args = reserveCoinUse_args()\n    args.request = request\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reserveCoinUse(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reserveCoinUse_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"reserveCoinUse failed: unknown result\")\n\n  def revokeChannel(self, channelId):\n    \"\"\"\n    Parameters:\n     - channelId\n    \"\"\"\n    self.send_revokeChannel(channelId)\n    self.recv_revokeChannel()\n\n  def send_revokeChannel(self, channelId):\n    self._oprot.writeMessageBegin('revokeChannel', TMessageType.CALL, self._seqid)\n    args = revokeChannel_args()\n    args.channelId = channelId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_revokeChannel(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = revokeChannel_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def syncChannelData(self, lastSynced, locale):\n    \"\"\"\n    Parameters:\n     - lastSynced\n     - locale\n    \"\"\"\n    self.send_syncChannelData(lastSynced, locale)\n    return self.recv_syncChannelData()\n\n  def send_syncChannelData(self, lastSynced, locale):\n    self._oprot.writeMessageBegin('syncChannelData', TMessageType.CALL, self._seqid)\n    args = syncChannelData_args()\n    args.lastSynced = lastSynced\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_syncChannelData(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = syncChannelData_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"syncChannelData failed: unknown result\")\n\n  def updateChannelNotificationSetting(self, setting):\n    \"\"\"\n    Parameters:\n     - setting\n    \"\"\"\n    self.send_updateChannelNotificationSetting(setting)\n    self.recv_updateChannelNotificationSetting()\n\n  def send_updateChannelNotificationSetting(self, setting):\n    self._oprot.writeMessageBegin('updateChannelNotificationSetting', TMessageType.CALL, self._seqid)\n    args = updateChannelNotificationSetting_args()\n    args.setting = setting\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateChannelNotificationSetting(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateChannelNotificationSetting_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def fetchMessageOperations(self, localRevision, lastOpTimestamp, count):\n    \"\"\"\n    Parameters:\n     - localRevision\n     - lastOpTimestamp\n     - count\n    \"\"\"\n    self.send_fetchMessageOperations(localRevision, lastOpTimestamp, count)\n    return self.recv_fetchMessageOperations()\n\n  def send_fetchMessageOperations(self, localRevision, lastOpTimestamp, count):\n    self._oprot.writeMessageBegin('fetchMessageOperations', TMessageType.CALL, self._seqid)\n    args = fetchMessageOperations_args()\n    args.localRevision = localRevision\n    args.lastOpTimestamp = lastOpTimestamp\n    args.count = count\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_fetchMessageOperations(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = fetchMessageOperations_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"fetchMessageOperations failed: unknown result\")\n\n  def getLastReadMessageIds(self, chatId):\n    \"\"\"\n    Parameters:\n     - chatId\n    \"\"\"\n    self.send_getLastReadMessageIds(chatId)\n    return self.recv_getLastReadMessageIds()\n\n  def send_getLastReadMessageIds(self, chatId):\n    self._oprot.writeMessageBegin('getLastReadMessageIds', TMessageType.CALL, self._seqid)\n    args = getLastReadMessageIds_args()\n    args.chatId = chatId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getLastReadMessageIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getLastReadMessageIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getLastReadMessageIds failed: unknown result\")\n\n  def multiGetLastReadMessageIds(self, chatIds):\n    \"\"\"\n    Parameters:\n     - chatIds\n    \"\"\"\n    self.send_multiGetLastReadMessageIds(chatIds)\n    return self.recv_multiGetLastReadMessageIds()\n\n  def send_multiGetLastReadMessageIds(self, chatIds):\n    self._oprot.writeMessageBegin('multiGetLastReadMessageIds', TMessageType.CALL, self._seqid)\n    args = multiGetLastReadMessageIds_args()\n    args.chatIds = chatIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_multiGetLastReadMessageIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = multiGetLastReadMessageIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"multiGetLastReadMessageIds failed: unknown result\")\n\n  def buyCoinProduct(self, paymentReservation):\n    \"\"\"\n    Parameters:\n     - paymentReservation\n    \"\"\"\n    self.send_buyCoinProduct(paymentReservation)\n    self.recv_buyCoinProduct()\n\n  def send_buyCoinProduct(self, paymentReservation):\n    self._oprot.writeMessageBegin('buyCoinProduct', TMessageType.CALL, self._seqid)\n    args = buyCoinProduct_args()\n    args.paymentReservation = paymentReservation\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_buyCoinProduct(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = buyCoinProduct_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def buyFreeProduct(self, receiverMid, productId, messageTemplate, language, country, packageId):\n    \"\"\"\n    Parameters:\n     - receiverMid\n     - productId\n     - messageTemplate\n     - language\n     - country\n     - packageId\n    \"\"\"\n    self.send_buyFreeProduct(receiverMid, productId, messageTemplate, language, country, packageId)\n    self.recv_buyFreeProduct()\n\n  def send_buyFreeProduct(self, receiverMid, productId, messageTemplate, language, country, packageId):\n    self._oprot.writeMessageBegin('buyFreeProduct', TMessageType.CALL, self._seqid)\n    args = buyFreeProduct_args()\n    args.receiverMid = receiverMid\n    args.productId = productId\n    args.messageTemplate = messageTemplate\n    args.language = language\n    args.country = country\n    args.packageId = packageId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_buyFreeProduct(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = buyFreeProduct_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def buyMustbuyProduct(self, receiverMid, productId, messageTemplate, language, country, packageId, serialNumber):\n    \"\"\"\n    Parameters:\n     - receiverMid\n     - productId\n     - messageTemplate\n     - language\n     - country\n     - packageId\n     - serialNumber\n    \"\"\"\n    self.send_buyMustbuyProduct(receiverMid, productId, messageTemplate, language, country, packageId, serialNumber)\n    self.recv_buyMustbuyProduct()\n\n  def send_buyMustbuyProduct(self, receiverMid, productId, messageTemplate, language, country, packageId, serialNumber):\n    self._oprot.writeMessageBegin('buyMustbuyProduct', TMessageType.CALL, self._seqid)\n    args = buyMustbuyProduct_args()\n    args.receiverMid = receiverMid\n    args.productId = productId\n    args.messageTemplate = messageTemplate\n    args.language = language\n    args.country = country\n    args.packageId = packageId\n    args.serialNumber = serialNumber\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_buyMustbuyProduct(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = buyMustbuyProduct_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def checkCanReceivePresent(self, recipientMid, packageId, language, country):\n    \"\"\"\n    Parameters:\n     - recipientMid\n     - packageId\n     - language\n     - country\n    \"\"\"\n    self.send_checkCanReceivePresent(recipientMid, packageId, language, country)\n    self.recv_checkCanReceivePresent()\n\n  def send_checkCanReceivePresent(self, recipientMid, packageId, language, country):\n    self._oprot.writeMessageBegin('checkCanReceivePresent', TMessageType.CALL, self._seqid)\n    args = checkCanReceivePresent_args()\n    args.recipientMid = recipientMid\n    args.packageId = packageId\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_checkCanReceivePresent(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = checkCanReceivePresent_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def getActivePurchases(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    self.send_getActivePurchases(start, size, language, country)\n    return self.recv_getActivePurchases()\n\n  def send_getActivePurchases(self, start, size, language, country):\n    self._oprot.writeMessageBegin('getActivePurchases', TMessageType.CALL, self._seqid)\n    args = getActivePurchases_args()\n    args.start = start\n    args.size = size\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getActivePurchases(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getActivePurchases_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getActivePurchases failed: unknown result\")\n\n  def getActivePurchaseVersions(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    self.send_getActivePurchaseVersions(start, size, language, country)\n    return self.recv_getActivePurchaseVersions()\n\n  def send_getActivePurchaseVersions(self, start, size, language, country):\n    self._oprot.writeMessageBegin('getActivePurchaseVersions', TMessageType.CALL, self._seqid)\n    args = getActivePurchaseVersions_args()\n    args.start = start\n    args.size = size\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getActivePurchaseVersions(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getActivePurchaseVersions_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getActivePurchaseVersions failed: unknown result\")\n\n  def getCoinProducts(self, appStoreCode, country, language):\n    \"\"\"\n    Parameters:\n     - appStoreCode\n     - country\n     - language\n    \"\"\"\n    self.send_getCoinProducts(appStoreCode, country, language)\n    return self.recv_getCoinProducts()\n\n  def send_getCoinProducts(self, appStoreCode, country, language):\n    self._oprot.writeMessageBegin('getCoinProducts', TMessageType.CALL, self._seqid)\n    args = getCoinProducts_args()\n    args.appStoreCode = appStoreCode\n    args.country = country\n    args.language = language\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCoinProducts(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCoinProducts_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCoinProducts failed: unknown result\")\n\n  def getCoinProductsByPgCode(self, appStoreCode, pgCode, country, language):\n    \"\"\"\n    Parameters:\n     - appStoreCode\n     - pgCode\n     - country\n     - language\n    \"\"\"\n    self.send_getCoinProductsByPgCode(appStoreCode, pgCode, country, language)\n    return self.recv_getCoinProductsByPgCode()\n\n  def send_getCoinProductsByPgCode(self, appStoreCode, pgCode, country, language):\n    self._oprot.writeMessageBegin('getCoinProductsByPgCode', TMessageType.CALL, self._seqid)\n    args = getCoinProductsByPgCode_args()\n    args.appStoreCode = appStoreCode\n    args.pgCode = pgCode\n    args.country = country\n    args.language = language\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCoinProductsByPgCode(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCoinProductsByPgCode_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCoinProductsByPgCode failed: unknown result\")\n\n  def getCoinPurchaseHistory(self, request):\n    \"\"\"\n    Parameters:\n     - request\n    \"\"\"\n    self.send_getCoinPurchaseHistory(request)\n    return self.recv_getCoinPurchaseHistory()\n\n  def send_getCoinPurchaseHistory(self, request):\n    self._oprot.writeMessageBegin('getCoinPurchaseHistory', TMessageType.CALL, self._seqid)\n    args = getCoinPurchaseHistory_args()\n    args.request = request\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCoinPurchaseHistory(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCoinPurchaseHistory_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCoinPurchaseHistory failed: unknown result\")\n\n  def getCoinUseAndRefundHistory(self, request):\n    \"\"\"\n    Parameters:\n     - request\n    \"\"\"\n    self.send_getCoinUseAndRefundHistory(request)\n    return self.recv_getCoinUseAndRefundHistory()\n\n  def send_getCoinUseAndRefundHistory(self, request):\n    self._oprot.writeMessageBegin('getCoinUseAndRefundHistory', TMessageType.CALL, self._seqid)\n    args = getCoinUseAndRefundHistory_args()\n    args.request = request\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCoinUseAndRefundHistory(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCoinUseAndRefundHistory_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCoinUseAndRefundHistory failed: unknown result\")\n\n  def getDownloads(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    self.send_getDownloads(start, size, language, country)\n    return self.recv_getDownloads()\n\n  def send_getDownloads(self, start, size, language, country):\n    self._oprot.writeMessageBegin('getDownloads', TMessageType.CALL, self._seqid)\n    args = getDownloads_args()\n    args.start = start\n    args.size = size\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getDownloads(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getDownloads_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getDownloads failed: unknown result\")\n\n  def getEventPackages(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    self.send_getEventPackages(start, size, language, country)\n    return self.recv_getEventPackages()\n\n  def send_getEventPackages(self, start, size, language, country):\n    self._oprot.writeMessageBegin('getEventPackages', TMessageType.CALL, self._seqid)\n    args = getEventPackages_args()\n    args.start = start\n    args.size = size\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getEventPackages(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getEventPackages_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getEventPackages failed: unknown result\")\n\n  def getNewlyReleasedPackages(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    self.send_getNewlyReleasedPackages(start, size, language, country)\n    return self.recv_getNewlyReleasedPackages()\n\n  def send_getNewlyReleasedPackages(self, start, size, language, country):\n    self._oprot.writeMessageBegin('getNewlyReleasedPackages', TMessageType.CALL, self._seqid)\n    args = getNewlyReleasedPackages_args()\n    args.start = start\n    args.size = size\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getNewlyReleasedPackages(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getNewlyReleasedPackages_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getNewlyReleasedPackages failed: unknown result\")\n\n  def getPopularPackages(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    self.send_getPopularPackages(start, size, language, country)\n    return self.recv_getPopularPackages()\n\n  def send_getPopularPackages(self, start, size, language, country):\n    self._oprot.writeMessageBegin('getPopularPackages', TMessageType.CALL, self._seqid)\n    args = getPopularPackages_args()\n    args.start = start\n    args.size = size\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getPopularPackages(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getPopularPackages_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getPopularPackages failed: unknown result\")\n\n  def getPresentsReceived(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    self.send_getPresentsReceived(start, size, language, country)\n    return self.recv_getPresentsReceived()\n\n  def send_getPresentsReceived(self, start, size, language, country):\n    self._oprot.writeMessageBegin('getPresentsReceived', TMessageType.CALL, self._seqid)\n    args = getPresentsReceived_args()\n    args.start = start\n    args.size = size\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getPresentsReceived(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getPresentsReceived_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getPresentsReceived failed: unknown result\")\n\n  def getPresentsSent(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    self.send_getPresentsSent(start, size, language, country)\n    return self.recv_getPresentsSent()\n\n  def send_getPresentsSent(self, start, size, language, country):\n    self._oprot.writeMessageBegin('getPresentsSent', TMessageType.CALL, self._seqid)\n    args = getPresentsSent_args()\n    args.start = start\n    args.size = size\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getPresentsSent(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getPresentsSent_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getPresentsSent failed: unknown result\")\n\n  def getProduct(self, packageID, language, country):\n    \"\"\"\n    Parameters:\n     - packageID\n     - language\n     - country\n    \"\"\"\n    self.send_getProduct(packageID, language, country)\n    return self.recv_getProduct()\n\n  def send_getProduct(self, packageID, language, country):\n    self._oprot.writeMessageBegin('getProduct', TMessageType.CALL, self._seqid)\n    args = getProduct_args()\n    args.packageID = packageID\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getProduct(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getProduct_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getProduct failed: unknown result\")\n\n  def getProductList(self, productIdList, language, country):\n    \"\"\"\n    Parameters:\n     - productIdList\n     - language\n     - country\n    \"\"\"\n    self.send_getProductList(productIdList, language, country)\n    return self.recv_getProductList()\n\n  def send_getProductList(self, productIdList, language, country):\n    self._oprot.writeMessageBegin('getProductList', TMessageType.CALL, self._seqid)\n    args = getProductList_args()\n    args.productIdList = productIdList\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getProductList(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getProductList_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getProductList failed: unknown result\")\n\n  def getProductListWithCarrier(self, productIdList, language, country, carrierCode):\n    \"\"\"\n    Parameters:\n     - productIdList\n     - language\n     - country\n     - carrierCode\n    \"\"\"\n    self.send_getProductListWithCarrier(productIdList, language, country, carrierCode)\n    return self.recv_getProductListWithCarrier()\n\n  def send_getProductListWithCarrier(self, productIdList, language, country, carrierCode):\n    self._oprot.writeMessageBegin('getProductListWithCarrier', TMessageType.CALL, self._seqid)\n    args = getProductListWithCarrier_args()\n    args.productIdList = productIdList\n    args.language = language\n    args.country = country\n    args.carrierCode = carrierCode\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getProductListWithCarrier(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getProductListWithCarrier_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getProductListWithCarrier failed: unknown result\")\n\n  def getProductWithCarrier(self, packageID, language, country, carrierCode):\n    \"\"\"\n    Parameters:\n     - packageID\n     - language\n     - country\n     - carrierCode\n    \"\"\"\n    self.send_getProductWithCarrier(packageID, language, country, carrierCode)\n    return self.recv_getProductWithCarrier()\n\n  def send_getProductWithCarrier(self, packageID, language, country, carrierCode):\n    self._oprot.writeMessageBegin('getProductWithCarrier', TMessageType.CALL, self._seqid)\n    args = getProductWithCarrier_args()\n    args.packageID = packageID\n    args.language = language\n    args.country = country\n    args.carrierCode = carrierCode\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getProductWithCarrier(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getProductWithCarrier_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getProductWithCarrier failed: unknown result\")\n\n  def getPurchaseHistory(self, start, size, language, country):\n    \"\"\"\n    Parameters:\n     - start\n     - size\n     - language\n     - country\n    \"\"\"\n    self.send_getPurchaseHistory(start, size, language, country)\n    return self.recv_getPurchaseHistory()\n\n  def send_getPurchaseHistory(self, start, size, language, country):\n    self._oprot.writeMessageBegin('getPurchaseHistory', TMessageType.CALL, self._seqid)\n    args = getPurchaseHistory_args()\n    args.start = start\n    args.size = size\n    args.language = language\n    args.country = country\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getPurchaseHistory(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getPurchaseHistory_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getPurchaseHistory failed: unknown result\")\n\n  def getTotalBalance(self, appStoreCode):\n    \"\"\"\n    Parameters:\n     - appStoreCode\n    \"\"\"\n    self.send_getTotalBalance(appStoreCode)\n    return self.recv_getTotalBalance()\n\n  def send_getTotalBalance(self, appStoreCode):\n    self._oprot.writeMessageBegin('getTotalBalance', TMessageType.CALL, self._seqid)\n    args = getTotalBalance_args()\n    args.appStoreCode = appStoreCode\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getTotalBalance(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getTotalBalance_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getTotalBalance failed: unknown result\")\n\n  def notifyDownloaded(self, packageId, language):\n    \"\"\"\n    Parameters:\n     - packageId\n     - language\n    \"\"\"\n    self.send_notifyDownloaded(packageId, language)\n    return self.recv_notifyDownloaded()\n\n  def send_notifyDownloaded(self, packageId, language):\n    self._oprot.writeMessageBegin('notifyDownloaded', TMessageType.CALL, self._seqid)\n    args = notifyDownloaded_args()\n    args.packageId = packageId\n    args.language = language\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifyDownloaded(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifyDownloaded_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"notifyDownloaded failed: unknown result\")\n\n  def reserveCoinPurchase(self, request):\n    \"\"\"\n    Parameters:\n     - request\n    \"\"\"\n    self.send_reserveCoinPurchase(request)\n    return self.recv_reserveCoinPurchase()\n\n  def send_reserveCoinPurchase(self, request):\n    self._oprot.writeMessageBegin('reserveCoinPurchase', TMessageType.CALL, self._seqid)\n    args = reserveCoinPurchase_args()\n    args.request = request\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reserveCoinPurchase(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reserveCoinPurchase_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"reserveCoinPurchase failed: unknown result\")\n\n  def reservePayment(self, paymentReservation):\n    \"\"\"\n    Parameters:\n     - paymentReservation\n    \"\"\"\n    self.send_reservePayment(paymentReservation)\n    return self.recv_reservePayment()\n\n  def send_reservePayment(self, paymentReservation):\n    self._oprot.writeMessageBegin('reservePayment', TMessageType.CALL, self._seqid)\n    args = reservePayment_args()\n    args.paymentReservation = paymentReservation\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reservePayment(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reservePayment_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"reservePayment failed: unknown result\")\n\n  def getSnsFriends(self, snsIdType, snsAccessToken, startIdx, limit):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - startIdx\n     - limit\n    \"\"\"\n    self.send_getSnsFriends(snsIdType, snsAccessToken, startIdx, limit)\n    return self.recv_getSnsFriends()\n\n  def send_getSnsFriends(self, snsIdType, snsAccessToken, startIdx, limit):\n    self._oprot.writeMessageBegin('getSnsFriends', TMessageType.CALL, self._seqid)\n    args = getSnsFriends_args()\n    args.snsIdType = snsIdType\n    args.snsAccessToken = snsAccessToken\n    args.startIdx = startIdx\n    args.limit = limit\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getSnsFriends(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getSnsFriends_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getSnsFriends failed: unknown result\")\n\n  def getSnsMyProfile(self, snsIdType, snsAccessToken):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n    \"\"\"\n    self.send_getSnsMyProfile(snsIdType, snsAccessToken)\n    return self.recv_getSnsMyProfile()\n\n  def send_getSnsMyProfile(self, snsIdType, snsAccessToken):\n    self._oprot.writeMessageBegin('getSnsMyProfile', TMessageType.CALL, self._seqid)\n    args = getSnsMyProfile_args()\n    args.snsIdType = snsIdType\n    args.snsAccessToken = snsAccessToken\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getSnsMyProfile(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getSnsMyProfile_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getSnsMyProfile failed: unknown result\")\n\n  def postSnsInvitationMessage(self, snsIdType, snsAccessToken, toSnsUserId):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - toSnsUserId\n    \"\"\"\n    self.send_postSnsInvitationMessage(snsIdType, snsAccessToken, toSnsUserId)\n    self.recv_postSnsInvitationMessage()\n\n  def send_postSnsInvitationMessage(self, snsIdType, snsAccessToken, toSnsUserId):\n    self._oprot.writeMessageBegin('postSnsInvitationMessage', TMessageType.CALL, self._seqid)\n    args = postSnsInvitationMessage_args()\n    args.snsIdType = snsIdType\n    args.snsAccessToken = snsAccessToken\n    args.toSnsUserId = toSnsUserId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_postSnsInvitationMessage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = postSnsInvitationMessage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def acceptGroupInvitation(self, reqSeq, groupId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n    \"\"\"\n    self.send_acceptGroupInvitation(reqSeq, groupId)\n    self.recv_acceptGroupInvitation()\n\n  def send_acceptGroupInvitation(self, reqSeq, groupId):\n    self._oprot.writeMessageBegin('acceptGroupInvitation', TMessageType.CALL, self._seqid)\n    args = acceptGroupInvitation_args()\n    args.reqSeq = reqSeq\n    args.groupId = groupId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_acceptGroupInvitation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = acceptGroupInvitation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def acceptGroupInvitationByTicket(self, reqSeq, groupId, ticketId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n     - ticketId\n    \"\"\"\n    self.send_acceptGroupInvitationByTicket(reqSeq, groupId, ticketId)\n    self.recv_acceptGroupInvitationByTicket()\n\n  def send_acceptGroupInvitationByTicket(self, reqSeq, groupId, ticketId):\n    self._oprot.writeMessageBegin('acceptGroupInvitationByTicket', TMessageType.CALL, self._seqid)\n    args = acceptGroupInvitationByTicket_args()\n    args.reqSeq = reqSeq\n    args.groupId = groupId\n    args.ticketId = ticketId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_acceptGroupInvitationByTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = acceptGroupInvitationByTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def acceptProximityMatches(self, sessionId, ids):\n    \"\"\"\n    Parameters:\n     - sessionId\n     - ids\n    \"\"\"\n    self.send_acceptProximityMatches(sessionId, ids)\n    self.recv_acceptProximityMatches()\n\n  def send_acceptProximityMatches(self, sessionId, ids):\n    self._oprot.writeMessageBegin('acceptProximityMatches', TMessageType.CALL, self._seqid)\n    args = acceptProximityMatches_args()\n    args.sessionId = sessionId\n    args.ids = ids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_acceptProximityMatches(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = acceptProximityMatches_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def acquireCallRoute(self, to):\n    \"\"\"\n    Parameters:\n     - to\n    \"\"\"\n    self.send_acquireCallRoute(to)\n    return self.recv_acquireCallRoute()\n\n  def send_acquireCallRoute(self, to):\n    self._oprot.writeMessageBegin('acquireCallRoute', TMessageType.CALL, self._seqid)\n    args = acquireCallRoute_args()\n    args.to = to\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_acquireCallRoute(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = acquireCallRoute_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"acquireCallRoute failed: unknown result\")\n\n  def acquireCallTicket(self, to):\n    \"\"\"\n    Parameters:\n     - to\n    \"\"\"\n    self.send_acquireCallTicket(to)\n    return self.recv_acquireCallTicket()\n\n  def send_acquireCallTicket(self, to):\n    self._oprot.writeMessageBegin('acquireCallTicket', TMessageType.CALL, self._seqid)\n    args = acquireCallTicket_args()\n    args.to = to\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_acquireCallTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = acquireCallTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"acquireCallTicket failed: unknown result\")\n\n  def acquireEncryptedAccessToken(self, featureType):\n    \"\"\"\n    Parameters:\n     - featureType\n    \"\"\"\n    self.send_acquireEncryptedAccessToken(featureType)\n    return self.recv_acquireEncryptedAccessToken()\n\n  def send_acquireEncryptedAccessToken(self, featureType):\n    self._oprot.writeMessageBegin('acquireEncryptedAccessToken', TMessageType.CALL, self._seqid)\n    args = acquireEncryptedAccessToken_args()\n    args.featureType = featureType\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_acquireEncryptedAccessToken(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = acquireEncryptedAccessToken_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"acquireEncryptedAccessToken failed: unknown result\")\n\n  def addSnsId(self, snsIdType, snsAccessToken):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n    \"\"\"\n    self.send_addSnsId(snsIdType, snsAccessToken)\n    return self.recv_addSnsId()\n\n  def send_addSnsId(self, snsIdType, snsAccessToken):\n    self._oprot.writeMessageBegin('addSnsId', TMessageType.CALL, self._seqid)\n    args = addSnsId_args()\n    args.snsIdType = snsIdType\n    args.snsAccessToken = snsAccessToken\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_addSnsId(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = addSnsId_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"addSnsId failed: unknown result\")\n\n  def blockContact(self, reqSeq, id):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - id\n    \"\"\"\n    self.send_blockContact(reqSeq, id)\n    self.recv_blockContact()\n\n  def send_blockContact(self, reqSeq, id):\n    self._oprot.writeMessageBegin('blockContact', TMessageType.CALL, self._seqid)\n    args = blockContact_args()\n    args.reqSeq = reqSeq\n    args.id = id\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_blockContact(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = blockContact_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def blockRecommendation(self, reqSeq, id):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - id\n    \"\"\"\n    self.send_blockRecommendation(reqSeq, id)\n    self.recv_blockRecommendation()\n\n  def send_blockRecommendation(self, reqSeq, id):\n    self._oprot.writeMessageBegin('blockRecommendation', TMessageType.CALL, self._seqid)\n    args = blockRecommendation_args()\n    args.reqSeq = reqSeq\n    args.id = id\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_blockRecommendation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = blockRecommendation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def cancelGroupInvitation(self, reqSeq, groupId, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n     - contactIds\n    \"\"\"\n    self.send_cancelGroupInvitation(reqSeq, groupId, contactIds)\n    self.recv_cancelGroupInvitation()\n\n  def send_cancelGroupInvitation(self, reqSeq, groupId, contactIds):\n    self._oprot.writeMessageBegin('cancelGroupInvitation', TMessageType.CALL, self._seqid)\n    args = cancelGroupInvitation_args()\n    args.reqSeq = reqSeq\n    args.groupId = groupId\n    args.contactIds = contactIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_cancelGroupInvitation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = cancelGroupInvitation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def changeVerificationMethod(self, sessionId, method):\n    \"\"\"\n    Parameters:\n     - sessionId\n     - method\n    \"\"\"\n    self.send_changeVerificationMethod(sessionId, method)\n    return self.recv_changeVerificationMethod()\n\n  def send_changeVerificationMethod(self, sessionId, method):\n    self._oprot.writeMessageBegin('changeVerificationMethod', TMessageType.CALL, self._seqid)\n    args = changeVerificationMethod_args()\n    args.sessionId = sessionId\n    args.method = method\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_changeVerificationMethod(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = changeVerificationMethod_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"changeVerificationMethod failed: unknown result\")\n\n  def clearIdentityCredential(self):\n    self.send_clearIdentityCredential()\n    self.recv_clearIdentityCredential()\n\n  def send_clearIdentityCredential(self):\n    self._oprot.writeMessageBegin('clearIdentityCredential', TMessageType.CALL, self._seqid)\n    args = clearIdentityCredential_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_clearIdentityCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = clearIdentityCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def clearMessageBox(self, channelId, messageBoxId):\n    \"\"\"\n    Parameters:\n     - channelId\n     - messageBoxId\n    \"\"\"\n    self.send_clearMessageBox(channelId, messageBoxId)\n    self.recv_clearMessageBox()\n\n  def send_clearMessageBox(self, channelId, messageBoxId):\n    self._oprot.writeMessageBegin('clearMessageBox', TMessageType.CALL, self._seqid)\n    args = clearMessageBox_args()\n    args.channelId = channelId\n    args.messageBoxId = messageBoxId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_clearMessageBox(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = clearMessageBox_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def closeProximityMatch(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    self.send_closeProximityMatch(sessionId)\n    self.recv_closeProximityMatch()\n\n  def send_closeProximityMatch(self, sessionId):\n    self._oprot.writeMessageBegin('closeProximityMatch', TMessageType.CALL, self._seqid)\n    args = closeProximityMatch_args()\n    args.sessionId = sessionId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_closeProximityMatch(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = closeProximityMatch_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def commitSendMessage(self, seq, messageId, receiverMids):\n    \"\"\"\n    Parameters:\n     - seq\n     - messageId\n     - receiverMids\n    \"\"\"\n    self.send_commitSendMessage(seq, messageId, receiverMids)\n    return self.recv_commitSendMessage()\n\n  def send_commitSendMessage(self, seq, messageId, receiverMids):\n    self._oprot.writeMessageBegin('commitSendMessage', TMessageType.CALL, self._seqid)\n    args = commitSendMessage_args()\n    args.seq = seq\n    args.messageId = messageId\n    args.receiverMids = receiverMids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_commitSendMessage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = commitSendMessage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"commitSendMessage failed: unknown result\")\n\n  def commitSendMessages(self, seq, messageIds, receiverMids):\n    \"\"\"\n    Parameters:\n     - seq\n     - messageIds\n     - receiverMids\n    \"\"\"\n    self.send_commitSendMessages(seq, messageIds, receiverMids)\n    return self.recv_commitSendMessages()\n\n  def send_commitSendMessages(self, seq, messageIds, receiverMids):\n    self._oprot.writeMessageBegin('commitSendMessages', TMessageType.CALL, self._seqid)\n    args = commitSendMessages_args()\n    args.seq = seq\n    args.messageIds = messageIds\n    args.receiverMids = receiverMids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_commitSendMessages(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = commitSendMessages_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"commitSendMessages failed: unknown result\")\n\n  def commitUpdateProfile(self, seq, attrs, receiverMids):\n    \"\"\"\n    Parameters:\n     - seq\n     - attrs\n     - receiverMids\n    \"\"\"\n    self.send_commitUpdateProfile(seq, attrs, receiverMids)\n    return self.recv_commitUpdateProfile()\n\n  def send_commitUpdateProfile(self, seq, attrs, receiverMids):\n    self._oprot.writeMessageBegin('commitUpdateProfile', TMessageType.CALL, self._seqid)\n    args = commitUpdateProfile_args()\n    args.seq = seq\n    args.attrs = attrs\n    args.receiverMids = receiverMids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_commitUpdateProfile(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = commitUpdateProfile_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"commitUpdateProfile failed: unknown result\")\n\n  def confirmEmail(self, verifier, pinCode):\n    \"\"\"\n    Parameters:\n     - verifier\n     - pinCode\n    \"\"\"\n    self.send_confirmEmail(verifier, pinCode)\n    self.recv_confirmEmail()\n\n  def send_confirmEmail(self, verifier, pinCode):\n    self._oprot.writeMessageBegin('confirmEmail', TMessageType.CALL, self._seqid)\n    args = confirmEmail_args()\n    args.verifier = verifier\n    args.pinCode = pinCode\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_confirmEmail(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = confirmEmail_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def createGroup(self, seq, name, contactIds):\n    \"\"\"\n    Parameters:\n     - seq\n     - name\n     - contactIds\n    \"\"\"\n    self.send_createGroup(seq, name, contactIds)\n    return self.recv_createGroup()\n\n  def send_createGroup(self, seq, name, contactIds):\n    self._oprot.writeMessageBegin('createGroup', TMessageType.CALL, self._seqid)\n    args = createGroup_args()\n    args.seq = seq\n    args.name = name\n    args.contactIds = contactIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_createGroup(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = createGroup_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"createGroup failed: unknown result\")\n\n  def createQrcodeBase64Image(self, url, characterSet, imageSize, x, y, width, height):\n    \"\"\"\n    Parameters:\n     - url\n     - characterSet\n     - imageSize\n     - x\n     - y\n     - width\n     - height\n    \"\"\"\n    self.send_createQrcodeBase64Image(url, characterSet, imageSize, x, y, width, height)\n    return self.recv_createQrcodeBase64Image()\n\n  def send_createQrcodeBase64Image(self, url, characterSet, imageSize, x, y, width, height):\n    self._oprot.writeMessageBegin('createQrcodeBase64Image', TMessageType.CALL, self._seqid)\n    args = createQrcodeBase64Image_args()\n    args.url = url\n    args.characterSet = characterSet\n    args.imageSize = imageSize\n    args.x = x\n    args.y = y\n    args.width = width\n    args.height = height\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_createQrcodeBase64Image(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = createQrcodeBase64Image_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"createQrcodeBase64Image failed: unknown result\")\n\n  def createRoom(self, reqSeq, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - contactIds\n    \"\"\"\n    self.send_createRoom(reqSeq, contactIds)\n    return self.recv_createRoom()\n\n  def send_createRoom(self, reqSeq, contactIds):\n    self._oprot.writeMessageBegin('createRoom', TMessageType.CALL, self._seqid)\n    args = createRoom_args()\n    args.reqSeq = reqSeq\n    args.contactIds = contactIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_createRoom(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = createRoom_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"createRoom failed: unknown result\")\n\n  def createSession(self):\n    self.send_createSession()\n    return self.recv_createSession()\n\n  def send_createSession(self):\n    self._oprot.writeMessageBegin('createSession', TMessageType.CALL, self._seqid)\n    args = createSession_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_createSession(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = createSession_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"createSession failed: unknown result\")\n\n  def fetchAnnouncements(self, lastFetchedIndex):\n    \"\"\"\n    Parameters:\n     - lastFetchedIndex\n    \"\"\"\n    self.send_fetchAnnouncements(lastFetchedIndex)\n    return self.recv_fetchAnnouncements()\n\n  def send_fetchAnnouncements(self, lastFetchedIndex):\n    self._oprot.writeMessageBegin('fetchAnnouncements', TMessageType.CALL, self._seqid)\n    args = fetchAnnouncements_args()\n    args.lastFetchedIndex = lastFetchedIndex\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_fetchAnnouncements(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = fetchAnnouncements_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"fetchAnnouncements failed: unknown result\")\n\n  def fetchMessages(self, localTs, count):\n    \"\"\"\n    Parameters:\n     - localTs\n     - count\n    \"\"\"\n    self.send_fetchMessages(localTs, count)\n    return self.recv_fetchMessages()\n\n  def send_fetchMessages(self, localTs, count):\n    self._oprot.writeMessageBegin('fetchMessages', TMessageType.CALL, self._seqid)\n    args = fetchMessages_args()\n    args.localTs = localTs\n    args.count = count\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_fetchMessages(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = fetchMessages_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"fetchMessages failed: unknown result\")\n\n  def fetchOperations(self, localRev, count):\n    \"\"\"\n    Parameters:\n     - localRev\n     - count\n    \"\"\"\n    self.send_fetchOperations(localRev, count)\n    return self.recv_fetchOperations()\n\n  def send_fetchOperations(self, localRev, count):\n    self._oprot.writeMessageBegin('fetchOperations', TMessageType.CALL, self._seqid)\n    args = fetchOperations_args()\n    args.localRev = localRev\n    args.count = count\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_fetchOperations(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = fetchOperations_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"fetchOperations failed: unknown result\")\n\n  def fetchOps(self, localRev, count, globalRev, individualRev):\n    \"\"\"\n    Parameters:\n     - localRev\n     - count\n     - globalRev\n     - individualRev\n    \"\"\"\n    self.send_fetchOps(localRev, count, globalRev, individualRev)\n    return self.recv_fetchOps()\n\n  def send_fetchOps(self, localRev, count, globalRev, individualRev):\n    self._oprot.writeMessageBegin('fetchOps', TMessageType.CALL, self._seqid)\n    args = fetchOps_args()\n    args.localRev = localRev\n    args.count = count\n    args.globalRev = globalRev\n    args.individualRev = individualRev\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_fetchOps(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = fetchOps_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"fetchOps failed: unknown result\")\n\n  def findAndAddContactsByEmail(self, reqSeq, emails):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - emails\n    \"\"\"\n    self.send_findAndAddContactsByEmail(reqSeq, emails)\n    return self.recv_findAndAddContactsByEmail()\n\n  def send_findAndAddContactsByEmail(self, reqSeq, emails):\n    self._oprot.writeMessageBegin('findAndAddContactsByEmail', TMessageType.CALL, self._seqid)\n    args = findAndAddContactsByEmail_args()\n    args.reqSeq = reqSeq\n    args.emails = emails\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findAndAddContactsByEmail(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findAndAddContactsByEmail_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findAndAddContactsByEmail failed: unknown result\")\n\n  def findAndAddContactsByMid(self, reqSeq, mid):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - mid\n    \"\"\"\n    self.send_findAndAddContactsByMid(reqSeq, mid)\n    return self.recv_findAndAddContactsByMid()\n\n  def send_findAndAddContactsByMid(self, reqSeq, mid):\n    self._oprot.writeMessageBegin('findAndAddContactsByMid', TMessageType.CALL, self._seqid)\n    args = findAndAddContactsByMid_args()\n    args.reqSeq = reqSeq\n    args.mid = mid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findAndAddContactsByMid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findAndAddContactsByMid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findAndAddContactsByMid failed: unknown result\")\n\n  def findAndAddContactsByPhone(self, reqSeq, phones):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - phones\n    \"\"\"\n    self.send_findAndAddContactsByPhone(reqSeq, phones)\n    return self.recv_findAndAddContactsByPhone()\n\n  def send_findAndAddContactsByPhone(self, reqSeq, phones):\n    self._oprot.writeMessageBegin('findAndAddContactsByPhone', TMessageType.CALL, self._seqid)\n    args = findAndAddContactsByPhone_args()\n    args.reqSeq = reqSeq\n    args.phones = phones\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findAndAddContactsByPhone(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findAndAddContactsByPhone_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findAndAddContactsByPhone failed: unknown result\")\n\n  def findAndAddContactsByUserid(self, reqSeq, userid):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - userid\n    \"\"\"\n    self.send_findAndAddContactsByUserid(reqSeq, userid)\n    return self.recv_findAndAddContactsByUserid()\n\n  def send_findAndAddContactsByUserid(self, reqSeq, userid):\n    self._oprot.writeMessageBegin('findAndAddContactsByUserid', TMessageType.CALL, self._seqid)\n    args = findAndAddContactsByUserid_args()\n    args.reqSeq = reqSeq\n    args.userid = userid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findAndAddContactsByUserid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findAndAddContactsByUserid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findAndAddContactsByUserid failed: unknown result\")\n\n  def findContactByUserid(self, userid):\n    \"\"\"\n    Parameters:\n     - userid\n    \"\"\"\n    self.send_findContactByUserid(userid)\n    return self.recv_findContactByUserid()\n\n  def send_findContactByUserid(self, userid):\n    self._oprot.writeMessageBegin('findContactByUserid', TMessageType.CALL, self._seqid)\n    args = findContactByUserid_args()\n    args.userid = userid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findContactByUserid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findContactByUserid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findContactByUserid failed: unknown result\")\n\n  def findContactByUserTicket(self, ticketId):\n    \"\"\"\n    Parameters:\n     - ticketId\n    \"\"\"\n    self.send_findContactByUserTicket(ticketId)\n    return self.recv_findContactByUserTicket()\n\n  def send_findContactByUserTicket(self, ticketId):\n    self._oprot.writeMessageBegin('findContactByUserTicket', TMessageType.CALL, self._seqid)\n    args = findContactByUserTicket_args()\n    args.ticketId = ticketId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findContactByUserTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findContactByUserTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findContactByUserTicket failed: unknown result\")\n\n  def findGroupByTicket(self, ticketId):\n    \"\"\"\n    Parameters:\n     - ticketId\n    \"\"\"\n    self.send_findGroupByTicket(ticketId)\n    return self.recv_findGroupByTicket()\n\n  def send_findGroupByTicket(self, ticketId):\n    self._oprot.writeMessageBegin('findGroupByTicket', TMessageType.CALL, self._seqid)\n    args = findGroupByTicket_args()\n    args.ticketId = ticketId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findGroupByTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findGroupByTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findGroupByTicket failed: unknown result\")\n\n  def findContactsByEmail(self, emails):\n    \"\"\"\n    Parameters:\n     - emails\n    \"\"\"\n    self.send_findContactsByEmail(emails)\n    return self.recv_findContactsByEmail()\n\n  def send_findContactsByEmail(self, emails):\n    self._oprot.writeMessageBegin('findContactsByEmail', TMessageType.CALL, self._seqid)\n    args = findContactsByEmail_args()\n    args.emails = emails\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findContactsByEmail(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findContactsByEmail_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findContactsByEmail failed: unknown result\")\n\n  def findContactsByPhone(self, phones):\n    \"\"\"\n    Parameters:\n     - phones\n    \"\"\"\n    self.send_findContactsByPhone(phones)\n    return self.recv_findContactsByPhone()\n\n  def send_findContactsByPhone(self, phones):\n    self._oprot.writeMessageBegin('findContactsByPhone', TMessageType.CALL, self._seqid)\n    args = findContactsByPhone_args()\n    args.phones = phones\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findContactsByPhone(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findContactsByPhone_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findContactsByPhone failed: unknown result\")\n\n  def findSnsIdUserStatus(self, snsIdType, snsAccessToken, udidHash):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - udidHash\n    \"\"\"\n    self.send_findSnsIdUserStatus(snsIdType, snsAccessToken, udidHash)\n    return self.recv_findSnsIdUserStatus()\n\n  def send_findSnsIdUserStatus(self, snsIdType, snsAccessToken, udidHash):\n    self._oprot.writeMessageBegin('findSnsIdUserStatus', TMessageType.CALL, self._seqid)\n    args = findSnsIdUserStatus_args()\n    args.snsIdType = snsIdType\n    args.snsAccessToken = snsAccessToken\n    args.udidHash = udidHash\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_findSnsIdUserStatus(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = findSnsIdUserStatus_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"findSnsIdUserStatus failed: unknown result\")\n\n  def finishUpdateVerification(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    self.send_finishUpdateVerification(sessionId)\n    self.recv_finishUpdateVerification()\n\n  def send_finishUpdateVerification(self, sessionId):\n    self._oprot.writeMessageBegin('finishUpdateVerification', TMessageType.CALL, self._seqid)\n    args = finishUpdateVerification_args()\n    args.sessionId = sessionId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_finishUpdateVerification(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = finishUpdateVerification_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def generateUserTicket(self, expirationTime, maxUseCount):\n    \"\"\"\n    Parameters:\n     - expirationTime\n     - maxUseCount\n    \"\"\"\n    self.send_generateUserTicket(expirationTime, maxUseCount)\n    return self.recv_generateUserTicket()\n\n  def send_generateUserTicket(self, expirationTime, maxUseCount):\n    self._oprot.writeMessageBegin('generateUserTicket', TMessageType.CALL, self._seqid)\n    args = generateUserTicket_args()\n    args.expirationTime = expirationTime\n    args.maxUseCount = maxUseCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_generateUserTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = generateUserTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"generateUserTicket failed: unknown result\")\n\n  def getAcceptedProximityMatches(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    self.send_getAcceptedProximityMatches(sessionId)\n    return self.recv_getAcceptedProximityMatches()\n\n  def send_getAcceptedProximityMatches(self, sessionId):\n    self._oprot.writeMessageBegin('getAcceptedProximityMatches', TMessageType.CALL, self._seqid)\n    args = getAcceptedProximityMatches_args()\n    args.sessionId = sessionId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getAcceptedProximityMatches(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getAcceptedProximityMatches_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getAcceptedProximityMatches failed: unknown result\")\n\n  def getActiveBuddySubscriberIds(self):\n    self.send_getActiveBuddySubscriberIds()\n    return self.recv_getActiveBuddySubscriberIds()\n\n  def send_getActiveBuddySubscriberIds(self):\n    self._oprot.writeMessageBegin('getActiveBuddySubscriberIds', TMessageType.CALL, self._seqid)\n    args = getActiveBuddySubscriberIds_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getActiveBuddySubscriberIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getActiveBuddySubscriberIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getActiveBuddySubscriberIds failed: unknown result\")\n\n  def getAllContactIds(self):\n    self.send_getAllContactIds()\n    return self.recv_getAllContactIds()\n\n  def send_getAllContactIds(self):\n    self._oprot.writeMessageBegin('getAllContactIds', TMessageType.CALL, self._seqid)\n    args = getAllContactIds_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getAllContactIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getAllContactIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getAllContactIds failed: unknown result\")\n\n  def getAuthQrcode(self, keepLoggedIn, systemName):\n    \"\"\"\n    Parameters:\n     - keepLoggedIn\n     - systemName\n    \"\"\"\n    self.send_getAuthQrcode(keepLoggedIn, systemName)\n    return self.recv_getAuthQrcode()\n\n  def send_getAuthQrcode(self, keepLoggedIn, systemName):\n    self._oprot.writeMessageBegin('getAuthQrcode', TMessageType.CALL, self._seqid)\n    args = getAuthQrcode_args()\n    args.keepLoggedIn = keepLoggedIn\n    args.systemName = systemName\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getAuthQrcode(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getAuthQrcode_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getAuthQrcode failed: unknown result\")\n\n  def getBlockedContactIds(self):\n    self.send_getBlockedContactIds()\n    return self.recv_getBlockedContactIds()\n\n  def send_getBlockedContactIds(self):\n    self._oprot.writeMessageBegin('getBlockedContactIds', TMessageType.CALL, self._seqid)\n    args = getBlockedContactIds_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBlockedContactIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBlockedContactIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBlockedContactIds failed: unknown result\")\n\n  def getBlockedContactIdsByRange(self, start, count):\n    \"\"\"\n    Parameters:\n     - start\n     - count\n    \"\"\"\n    self.send_getBlockedContactIdsByRange(start, count)\n    return self.recv_getBlockedContactIdsByRange()\n\n  def send_getBlockedContactIdsByRange(self, start, count):\n    self._oprot.writeMessageBegin('getBlockedContactIdsByRange', TMessageType.CALL, self._seqid)\n    args = getBlockedContactIdsByRange_args()\n    args.start = start\n    args.count = count\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBlockedContactIdsByRange(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBlockedContactIdsByRange_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBlockedContactIdsByRange failed: unknown result\")\n\n  def getBlockedRecommendationIds(self):\n    self.send_getBlockedRecommendationIds()\n    return self.recv_getBlockedRecommendationIds()\n\n  def send_getBlockedRecommendationIds(self):\n    self._oprot.writeMessageBegin('getBlockedRecommendationIds', TMessageType.CALL, self._seqid)\n    args = getBlockedRecommendationIds_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBlockedRecommendationIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBlockedRecommendationIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBlockedRecommendationIds failed: unknown result\")\n\n  def getBuddyBlockerIds(self):\n    self.send_getBuddyBlockerIds()\n    return self.recv_getBuddyBlockerIds()\n\n  def send_getBuddyBlockerIds(self):\n    self._oprot.writeMessageBegin('getBuddyBlockerIds', TMessageType.CALL, self._seqid)\n    args = getBuddyBlockerIds_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBuddyBlockerIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBuddyBlockerIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBuddyBlockerIds failed: unknown result\")\n\n  def getBuddyLocation(self, mid, index):\n    \"\"\"\n    Parameters:\n     - mid\n     - index\n    \"\"\"\n    self.send_getBuddyLocation(mid, index)\n    return self.recv_getBuddyLocation()\n\n  def send_getBuddyLocation(self, mid, index):\n    self._oprot.writeMessageBegin('getBuddyLocation', TMessageType.CALL, self._seqid)\n    args = getBuddyLocation_args()\n    args.mid = mid\n    args.index = index\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getBuddyLocation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getBuddyLocation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getBuddyLocation failed: unknown result\")\n\n  def getCompactContactsModifiedSince(self, timestamp):\n    \"\"\"\n    Parameters:\n     - timestamp\n    \"\"\"\n    self.send_getCompactContactsModifiedSince(timestamp)\n    return self.recv_getCompactContactsModifiedSince()\n\n  def send_getCompactContactsModifiedSince(self, timestamp):\n    self._oprot.writeMessageBegin('getCompactContactsModifiedSince', TMessageType.CALL, self._seqid)\n    args = getCompactContactsModifiedSince_args()\n    args.timestamp = timestamp\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCompactContactsModifiedSince(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCompactContactsModifiedSince_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCompactContactsModifiedSince failed: unknown result\")\n\n  def getCompactGroup(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    self.send_getCompactGroup(groupId)\n    return self.recv_getCompactGroup()\n\n  def send_getCompactGroup(self, groupId):\n    self._oprot.writeMessageBegin('getCompactGroup', TMessageType.CALL, self._seqid)\n    args = getCompactGroup_args()\n    args.groupId = groupId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCompactGroup(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCompactGroup_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCompactGroup failed: unknown result\")\n\n  def getCompactRoom(self, roomId):\n    \"\"\"\n    Parameters:\n     - roomId\n    \"\"\"\n    self.send_getCompactRoom(roomId)\n    return self.recv_getCompactRoom()\n\n  def send_getCompactRoom(self, roomId):\n    self._oprot.writeMessageBegin('getCompactRoom', TMessageType.CALL, self._seqid)\n    args = getCompactRoom_args()\n    args.roomId = roomId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCompactRoom(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCompactRoom_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCompactRoom failed: unknown result\")\n\n  def getContact(self, id):\n    \"\"\"\n    Parameters:\n     - id\n    \"\"\"\n    self.send_getContact(id)\n    return self.recv_getContact()\n\n  def send_getContact(self, id):\n    self._oprot.writeMessageBegin('getContact', TMessageType.CALL, self._seqid)\n    args = getContact_args()\n    args.id = id\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getContact(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getContact_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getContact failed: unknown result\")\n\n  def getContacts(self, ids):\n    \"\"\"\n    Parameters:\n     - ids\n    \"\"\"\n    self.send_getContacts(ids)\n    return self.recv_getContacts()\n\n  def send_getContacts(self, ids):\n    self._oprot.writeMessageBegin('getContacts', TMessageType.CALL, self._seqid)\n    args = getContacts_args()\n    args.ids = ids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getContacts(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getContacts_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getContacts failed: unknown result\")\n\n  def getCountryWithRequestIp(self):\n    self.send_getCountryWithRequestIp()\n    return self.recv_getCountryWithRequestIp()\n\n  def send_getCountryWithRequestIp(self):\n    self._oprot.writeMessageBegin('getCountryWithRequestIp', TMessageType.CALL, self._seqid)\n    args = getCountryWithRequestIp_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getCountryWithRequestIp(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getCountryWithRequestIp_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getCountryWithRequestIp failed: unknown result\")\n\n  def getFavoriteMids(self):\n    self.send_getFavoriteMids()\n    return self.recv_getFavoriteMids()\n\n  def send_getFavoriteMids(self):\n    self._oprot.writeMessageBegin('getFavoriteMids', TMessageType.CALL, self._seqid)\n    args = getFavoriteMids_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getFavoriteMids(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getFavoriteMids_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getFavoriteMids failed: unknown result\")\n\n  def getGroup(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    self.send_getGroup(groupId)\n    return self.recv_getGroup()\n\n  def send_getGroup(self, groupId):\n    self._oprot.writeMessageBegin('getGroup', TMessageType.CALL, self._seqid)\n    args = getGroup_args()\n    args.groupId = groupId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getGroup(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getGroup_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getGroup failed: unknown result\")\n\n  def getGroupIdsInvited(self):\n    self.send_getGroupIdsInvited()\n    return self.recv_getGroupIdsInvited()\n\n  def send_getGroupIdsInvited(self):\n    self._oprot.writeMessageBegin('getGroupIdsInvited', TMessageType.CALL, self._seqid)\n    args = getGroupIdsInvited_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getGroupIdsInvited(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getGroupIdsInvited_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getGroupIdsInvited failed: unknown result\")\n\n  def getGroupIdsJoined(self):\n    self.send_getGroupIdsJoined()\n    return self.recv_getGroupIdsJoined()\n\n  def send_getGroupIdsJoined(self):\n    self._oprot.writeMessageBegin('getGroupIdsJoined', TMessageType.CALL, self._seqid)\n    args = getGroupIdsJoined_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getGroupIdsJoined(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getGroupIdsJoined_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getGroupIdsJoined failed: unknown result\")\n\n  def getGroups(self, groupIds):\n    \"\"\"\n    Parameters:\n     - groupIds\n    \"\"\"\n    self.send_getGroups(groupIds)\n    return self.recv_getGroups()\n\n  def send_getGroups(self, groupIds):\n    self._oprot.writeMessageBegin('getGroups', TMessageType.CALL, self._seqid)\n    args = getGroups_args()\n    args.groupIds = groupIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getGroups(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getGroups_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getGroups failed: unknown result\")\n\n  def getHiddenContactMids(self):\n    self.send_getHiddenContactMids()\n    return self.recv_getHiddenContactMids()\n\n  def send_getHiddenContactMids(self):\n    self._oprot.writeMessageBegin('getHiddenContactMids', TMessageType.CALL, self._seqid)\n    args = getHiddenContactMids_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getHiddenContactMids(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getHiddenContactMids_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getHiddenContactMids failed: unknown result\")\n\n  def getIdentityIdentifier(self):\n    self.send_getIdentityIdentifier()\n    return self.recv_getIdentityIdentifier()\n\n  def send_getIdentityIdentifier(self):\n    self._oprot.writeMessageBegin('getIdentityIdentifier', TMessageType.CALL, self._seqid)\n    args = getIdentityIdentifier_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getIdentityIdentifier(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getIdentityIdentifier_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getIdentityIdentifier failed: unknown result\")\n\n  def getLastAnnouncementIndex(self):\n    self.send_getLastAnnouncementIndex()\n    return self.recv_getLastAnnouncementIndex()\n\n  def send_getLastAnnouncementIndex(self):\n    self._oprot.writeMessageBegin('getLastAnnouncementIndex', TMessageType.CALL, self._seqid)\n    args = getLastAnnouncementIndex_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getLastAnnouncementIndex(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getLastAnnouncementIndex_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getLastAnnouncementIndex failed: unknown result\")\n\n  def getLastOpRevision(self):\n    self.send_getLastOpRevision()\n    return self.recv_getLastOpRevision()\n\n  def send_getLastOpRevision(self):\n    self._oprot.writeMessageBegin('getLastOpRevision', TMessageType.CALL, self._seqid)\n    args = getLastOpRevision_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getLastOpRevision(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getLastOpRevision_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getLastOpRevision failed: unknown result\")\n\n  def getMessageBox(self, channelId, messageBoxId, lastMessagesCount):\n    \"\"\"\n    Parameters:\n     - channelId\n     - messageBoxId\n     - lastMessagesCount\n    \"\"\"\n    self.send_getMessageBox(channelId, messageBoxId, lastMessagesCount)\n    return self.recv_getMessageBox()\n\n  def send_getMessageBox(self, channelId, messageBoxId, lastMessagesCount):\n    self._oprot.writeMessageBegin('getMessageBox', TMessageType.CALL, self._seqid)\n    args = getMessageBox_args()\n    args.channelId = channelId\n    args.messageBoxId = messageBoxId\n    args.lastMessagesCount = lastMessagesCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMessageBox(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMessageBox_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMessageBox failed: unknown result\")\n\n  def getMessageBoxCompactWrapUp(self, mid):\n    \"\"\"\n    Parameters:\n     - mid\n    \"\"\"\n    self.send_getMessageBoxCompactWrapUp(mid)\n    return self.recv_getMessageBoxCompactWrapUp()\n\n  def send_getMessageBoxCompactWrapUp(self, mid):\n    self._oprot.writeMessageBegin('getMessageBoxCompactWrapUp', TMessageType.CALL, self._seqid)\n    args = getMessageBoxCompactWrapUp_args()\n    args.mid = mid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMessageBoxCompactWrapUp(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMessageBoxCompactWrapUp_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMessageBoxCompactWrapUp failed: unknown result\")\n\n  def getMessageBoxCompactWrapUpList(self, start, messageBoxCount):\n    \"\"\"\n    Parameters:\n     - start\n     - messageBoxCount\n    \"\"\"\n    self.send_getMessageBoxCompactWrapUpList(start, messageBoxCount)\n    return self.recv_getMessageBoxCompactWrapUpList()\n\n  def send_getMessageBoxCompactWrapUpList(self, start, messageBoxCount):\n    self._oprot.writeMessageBegin('getMessageBoxCompactWrapUpList', TMessageType.CALL, self._seqid)\n    args = getMessageBoxCompactWrapUpList_args()\n    args.start = start\n    args.messageBoxCount = messageBoxCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMessageBoxCompactWrapUpList(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMessageBoxCompactWrapUpList_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMessageBoxCompactWrapUpList failed: unknown result\")\n\n  def getMessageBoxList(self, channelId, lastMessagesCount):\n    \"\"\"\n    Parameters:\n     - channelId\n     - lastMessagesCount\n    \"\"\"\n    self.send_getMessageBoxList(channelId, lastMessagesCount)\n    return self.recv_getMessageBoxList()\n\n  def send_getMessageBoxList(self, channelId, lastMessagesCount):\n    self._oprot.writeMessageBegin('getMessageBoxList', TMessageType.CALL, self._seqid)\n    args = getMessageBoxList_args()\n    args.channelId = channelId\n    args.lastMessagesCount = lastMessagesCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMessageBoxList(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMessageBoxList_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMessageBoxList failed: unknown result\")\n\n  def getMessageBoxListByStatus(self, channelId, lastMessagesCount, status):\n    \"\"\"\n    Parameters:\n     - channelId\n     - lastMessagesCount\n     - status\n    \"\"\"\n    self.send_getMessageBoxListByStatus(channelId, lastMessagesCount, status)\n    return self.recv_getMessageBoxListByStatus()\n\n  def send_getMessageBoxListByStatus(self, channelId, lastMessagesCount, status):\n    self._oprot.writeMessageBegin('getMessageBoxListByStatus', TMessageType.CALL, self._seqid)\n    args = getMessageBoxListByStatus_args()\n    args.channelId = channelId\n    args.lastMessagesCount = lastMessagesCount\n    args.status = status\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMessageBoxListByStatus(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMessageBoxListByStatus_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMessageBoxListByStatus failed: unknown result\")\n\n  def getMessageBoxWrapUp(self, mid):\n    \"\"\"\n    Parameters:\n     - mid\n    \"\"\"\n    self.send_getMessageBoxWrapUp(mid)\n    return self.recv_getMessageBoxWrapUp()\n\n  def send_getMessageBoxWrapUp(self, mid):\n    self._oprot.writeMessageBegin('getMessageBoxWrapUp', TMessageType.CALL, self._seqid)\n    args = getMessageBoxWrapUp_args()\n    args.mid = mid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMessageBoxWrapUp(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMessageBoxWrapUp_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMessageBoxWrapUp failed: unknown result\")\n\n  def getMessageBoxWrapUpList(self, start, messageBoxCount):\n    \"\"\"\n    Parameters:\n     - start\n     - messageBoxCount\n    \"\"\"\n    self.send_getMessageBoxWrapUpList(start, messageBoxCount)\n    return self.recv_getMessageBoxWrapUpList()\n\n  def send_getMessageBoxWrapUpList(self, start, messageBoxCount):\n    self._oprot.writeMessageBegin('getMessageBoxWrapUpList', TMessageType.CALL, self._seqid)\n    args = getMessageBoxWrapUpList_args()\n    args.start = start\n    args.messageBoxCount = messageBoxCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMessageBoxWrapUpList(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMessageBoxWrapUpList_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMessageBoxWrapUpList failed: unknown result\")\n\n  def getMessagesBySequenceNumber(self, channelId, messageBoxId, startSeq, endSeq):\n    \"\"\"\n    Parameters:\n     - channelId\n     - messageBoxId\n     - startSeq\n     - endSeq\n    \"\"\"\n    self.send_getMessagesBySequenceNumber(channelId, messageBoxId, startSeq, endSeq)\n    return self.recv_getMessagesBySequenceNumber()\n\n  def send_getMessagesBySequenceNumber(self, channelId, messageBoxId, startSeq, endSeq):\n    self._oprot.writeMessageBegin('getMessagesBySequenceNumber', TMessageType.CALL, self._seqid)\n    args = getMessagesBySequenceNumber_args()\n    args.channelId = channelId\n    args.messageBoxId = messageBoxId\n    args.startSeq = startSeq\n    args.endSeq = endSeq\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getMessagesBySequenceNumber(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getMessagesBySequenceNumber_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getMessagesBySequenceNumber failed: unknown result\")\n\n  def getNextMessages(self, messageBoxId, startSeq, messagesCount):\n    \"\"\"\n    Parameters:\n     - messageBoxId\n     - startSeq\n     - messagesCount\n    \"\"\"\n    self.send_getNextMessages(messageBoxId, startSeq, messagesCount)\n    return self.recv_getNextMessages()\n\n  def send_getNextMessages(self, messageBoxId, startSeq, messagesCount):\n    self._oprot.writeMessageBegin('getNextMessages', TMessageType.CALL, self._seqid)\n    args = getNextMessages_args()\n    args.messageBoxId = messageBoxId\n    args.startSeq = startSeq\n    args.messagesCount = messagesCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getNextMessages(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getNextMessages_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getNextMessages failed: unknown result\")\n\n  def getNotificationPolicy(self, carrier):\n    \"\"\"\n    Parameters:\n     - carrier\n    \"\"\"\n    self.send_getNotificationPolicy(carrier)\n    return self.recv_getNotificationPolicy()\n\n  def send_getNotificationPolicy(self, carrier):\n    self._oprot.writeMessageBegin('getNotificationPolicy', TMessageType.CALL, self._seqid)\n    args = getNotificationPolicy_args()\n    args.carrier = carrier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getNotificationPolicy(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getNotificationPolicy_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getNotificationPolicy failed: unknown result\")\n\n  def getPreviousMessages(self, messageBoxId, endSeq, messagesCount):\n    \"\"\"\n    Parameters:\n     - messageBoxId\n     - endSeq\n     - messagesCount\n    \"\"\"\n    self.send_getPreviousMessages(messageBoxId, endSeq, messagesCount)\n    return self.recv_getPreviousMessages()\n\n  def send_getPreviousMessages(self, messageBoxId, endSeq, messagesCount):\n    self._oprot.writeMessageBegin('getPreviousMessages', TMessageType.CALL, self._seqid)\n    args = getPreviousMessages_args()\n    args.messageBoxId = messageBoxId\n    args.endSeq = endSeq\n    args.messagesCount = messagesCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getPreviousMessages(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getPreviousMessages_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getPreviousMessages failed: unknown result\")\n\n  def getProfile(self):\n    self.send_getProfile()\n    return self.recv_getProfile()\n\n  def send_getProfile(self):\n    self._oprot.writeMessageBegin('getProfile', TMessageType.CALL, self._seqid)\n    args = getProfile_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getProfile(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getProfile_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getProfile failed: unknown result\")\n\n  def getProximityMatchCandidateList(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    self.send_getProximityMatchCandidateList(sessionId)\n    return self.recv_getProximityMatchCandidateList()\n\n  def send_getProximityMatchCandidateList(self, sessionId):\n    self._oprot.writeMessageBegin('getProximityMatchCandidateList', TMessageType.CALL, self._seqid)\n    args = getProximityMatchCandidateList_args()\n    args.sessionId = sessionId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getProximityMatchCandidateList(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getProximityMatchCandidateList_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getProximityMatchCandidateList failed: unknown result\")\n\n  def getProximityMatchCandidates(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    self.send_getProximityMatchCandidates(sessionId)\n    return self.recv_getProximityMatchCandidates()\n\n  def send_getProximityMatchCandidates(self, sessionId):\n    self._oprot.writeMessageBegin('getProximityMatchCandidates', TMessageType.CALL, self._seqid)\n    args = getProximityMatchCandidates_args()\n    args.sessionId = sessionId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getProximityMatchCandidates(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getProximityMatchCandidates_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getProximityMatchCandidates failed: unknown result\")\n\n  def getRecentMessages(self, messageBoxId, messagesCount):\n    \"\"\"\n    Parameters:\n     - messageBoxId\n     - messagesCount\n    \"\"\"\n    self.send_getRecentMessages(messageBoxId, messagesCount)\n    return self.recv_getRecentMessages()\n\n  def send_getRecentMessages(self, messageBoxId, messagesCount):\n    self._oprot.writeMessageBegin('getRecentMessages', TMessageType.CALL, self._seqid)\n    args = getRecentMessages_args()\n    args.messageBoxId = messageBoxId\n    args.messagesCount = messagesCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getRecentMessages(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getRecentMessages_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getRecentMessages failed: unknown result\")\n\n  def getRecommendationIds(self):\n    self.send_getRecommendationIds()\n    return self.recv_getRecommendationIds()\n\n  def send_getRecommendationIds(self):\n    self._oprot.writeMessageBegin('getRecommendationIds', TMessageType.CALL, self._seqid)\n    args = getRecommendationIds_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getRecommendationIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getRecommendationIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getRecommendationIds failed: unknown result\")\n\n  def getRoom(self, roomId):\n    \"\"\"\n    Parameters:\n     - roomId\n    \"\"\"\n    self.send_getRoom(roomId)\n    return self.recv_getRoom()\n\n  def send_getRoom(self, roomId):\n    self._oprot.writeMessageBegin('getRoom', TMessageType.CALL, self._seqid)\n    args = getRoom_args()\n    args.roomId = roomId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getRoom(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getRoom_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getRoom failed: unknown result\")\n\n  def getRSAKeyInfo(self, provider):\n    \"\"\"\n    Parameters:\n     - provider\n    \"\"\"\n    self.send_getRSAKeyInfo(provider)\n    return self.recv_getRSAKeyInfo()\n\n  def send_getRSAKeyInfo(self, provider):\n    self._oprot.writeMessageBegin('getRSAKeyInfo', TMessageType.CALL, self._seqid)\n    args = getRSAKeyInfo_args()\n    args.provider = provider\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getRSAKeyInfo(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getRSAKeyInfo_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getRSAKeyInfo failed: unknown result\")\n\n  def getServerTime(self):\n    self.send_getServerTime()\n    return self.recv_getServerTime()\n\n  def send_getServerTime(self):\n    self._oprot.writeMessageBegin('getServerTime', TMessageType.CALL, self._seqid)\n    args = getServerTime_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getServerTime(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getServerTime_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getServerTime failed: unknown result\")\n\n  def getSessions(self):\n    self.send_getSessions()\n    return self.recv_getSessions()\n\n  def send_getSessions(self):\n    self._oprot.writeMessageBegin('getSessions', TMessageType.CALL, self._seqid)\n    args = getSessions_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getSessions(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getSessions_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getSessions failed: unknown result\")\n\n  def getSettings(self):\n    self.send_getSettings()\n    return self.recv_getSettings()\n\n  def send_getSettings(self):\n    self._oprot.writeMessageBegin('getSettings', TMessageType.CALL, self._seqid)\n    args = getSettings_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getSettings(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getSettings_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getSettings failed: unknown result\")\n\n  def getSettingsAttributes(self, attrBitset):\n    \"\"\"\n    Parameters:\n     - attrBitset\n    \"\"\"\n    self.send_getSettingsAttributes(attrBitset)\n    return self.recv_getSettingsAttributes()\n\n  def send_getSettingsAttributes(self, attrBitset):\n    self._oprot.writeMessageBegin('getSettingsAttributes', TMessageType.CALL, self._seqid)\n    args = getSettingsAttributes_args()\n    args.attrBitset = attrBitset\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getSettingsAttributes(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getSettingsAttributes_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getSettingsAttributes failed: unknown result\")\n\n  def getSystemConfiguration(self):\n    self.send_getSystemConfiguration()\n    return self.recv_getSystemConfiguration()\n\n  def send_getSystemConfiguration(self):\n    self._oprot.writeMessageBegin('getSystemConfiguration', TMessageType.CALL, self._seqid)\n    args = getSystemConfiguration_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getSystemConfiguration(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getSystemConfiguration_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getSystemConfiguration failed: unknown result\")\n\n  def getUserTicket(self):\n    self.send_getUserTicket()\n    return self.recv_getUserTicket()\n\n  def send_getUserTicket(self):\n    self._oprot.writeMessageBegin('getUserTicket', TMessageType.CALL, self._seqid)\n    args = getUserTicket_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getUserTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getUserTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getUserTicket failed: unknown result\")\n\n  def getWapInvitation(self, invitationHash):\n    \"\"\"\n    Parameters:\n     - invitationHash\n    \"\"\"\n    self.send_getWapInvitation(invitationHash)\n    return self.recv_getWapInvitation()\n\n  def send_getWapInvitation(self, invitationHash):\n    self._oprot.writeMessageBegin('getWapInvitation', TMessageType.CALL, self._seqid)\n    args = getWapInvitation_args()\n    args.invitationHash = invitationHash\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_getWapInvitation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = getWapInvitation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"getWapInvitation failed: unknown result\")\n\n  def invalidateUserTicket(self):\n    self.send_invalidateUserTicket()\n    self.recv_invalidateUserTicket()\n\n  def send_invalidateUserTicket(self):\n    self._oprot.writeMessageBegin('invalidateUserTicket', TMessageType.CALL, self._seqid)\n    args = invalidateUserTicket_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_invalidateUserTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = invalidateUserTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def inviteFriendsBySms(self, phoneNumberList):\n    \"\"\"\n    Parameters:\n     - phoneNumberList\n    \"\"\"\n    self.send_inviteFriendsBySms(phoneNumberList)\n    self.recv_inviteFriendsBySms()\n\n  def send_inviteFriendsBySms(self, phoneNumberList):\n    self._oprot.writeMessageBegin('inviteFriendsBySms', TMessageType.CALL, self._seqid)\n    args = inviteFriendsBySms_args()\n    args.phoneNumberList = phoneNumberList\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_inviteFriendsBySms(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = inviteFriendsBySms_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def inviteIntoGroup(self, reqSeq, groupId, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n     - contactIds\n    \"\"\"\n    self.send_inviteIntoGroup(reqSeq, groupId, contactIds)\n    self.recv_inviteIntoGroup()\n\n  def send_inviteIntoGroup(self, reqSeq, groupId, contactIds):\n    self._oprot.writeMessageBegin('inviteIntoGroup', TMessageType.CALL, self._seqid)\n    args = inviteIntoGroup_args()\n    args.reqSeq = reqSeq\n    args.groupId = groupId\n    args.contactIds = contactIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_inviteIntoGroup(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = inviteIntoGroup_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def inviteIntoRoom(self, reqSeq, roomId, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - roomId\n     - contactIds\n    \"\"\"\n    self.send_inviteIntoRoom(reqSeq, roomId, contactIds)\n    self.recv_inviteIntoRoom()\n\n  def send_inviteIntoRoom(self, reqSeq, roomId, contactIds):\n    self._oprot.writeMessageBegin('inviteIntoRoom', TMessageType.CALL, self._seqid)\n    args = inviteIntoRoom_args()\n    args.reqSeq = reqSeq\n    args.roomId = roomId\n    args.contactIds = contactIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_inviteIntoRoom(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = inviteIntoRoom_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def inviteViaEmail(self, reqSeq, email, name):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - email\n     - name\n    \"\"\"\n    self.send_inviteViaEmail(reqSeq, email, name)\n    self.recv_inviteViaEmail()\n\n  def send_inviteViaEmail(self, reqSeq, email, name):\n    self._oprot.writeMessageBegin('inviteViaEmail', TMessageType.CALL, self._seqid)\n    args = inviteViaEmail_args()\n    args.reqSeq = reqSeq\n    args.email = email\n    args.name = name\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_inviteViaEmail(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = inviteViaEmail_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def isIdentityIdentifierAvailable(self, provider, identifier):\n    \"\"\"\n    Parameters:\n     - provider\n     - identifier\n    \"\"\"\n    self.send_isIdentityIdentifierAvailable(provider, identifier)\n    return self.recv_isIdentityIdentifierAvailable()\n\n  def send_isIdentityIdentifierAvailable(self, provider, identifier):\n    self._oprot.writeMessageBegin('isIdentityIdentifierAvailable', TMessageType.CALL, self._seqid)\n    args = isIdentityIdentifierAvailable_args()\n    args.provider = provider\n    args.identifier = identifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_isIdentityIdentifierAvailable(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = isIdentityIdentifierAvailable_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"isIdentityIdentifierAvailable failed: unknown result\")\n\n  def isUseridAvailable(self, userid):\n    \"\"\"\n    Parameters:\n     - userid\n    \"\"\"\n    self.send_isUseridAvailable(userid)\n    return self.recv_isUseridAvailable()\n\n  def send_isUseridAvailable(self, userid):\n    self._oprot.writeMessageBegin('isUseridAvailable', TMessageType.CALL, self._seqid)\n    args = isUseridAvailable_args()\n    args.userid = userid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_isUseridAvailable(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = isUseridAvailable_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"isUseridAvailable failed: unknown result\")\n\n  def kickoutFromGroup(self, reqSeq, groupId, contactIds):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n     - contactIds\n    \"\"\"\n    self.send_kickoutFromGroup(reqSeq, groupId, contactIds)\n    self.recv_kickoutFromGroup()\n\n  def send_kickoutFromGroup(self, reqSeq, groupId, contactIds):\n    self._oprot.writeMessageBegin('kickoutFromGroup', TMessageType.CALL, self._seqid)\n    args = kickoutFromGroup_args()\n    args.reqSeq = reqSeq\n    args.groupId = groupId\n    args.contactIds = contactIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_kickoutFromGroup(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = kickoutFromGroup_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def leaveGroup(self, reqSeq, groupId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n    \"\"\"\n    self.send_leaveGroup(reqSeq, groupId)\n    self.recv_leaveGroup()\n\n  def send_leaveGroup(self, reqSeq, groupId):\n    self._oprot.writeMessageBegin('leaveGroup', TMessageType.CALL, self._seqid)\n    args = leaveGroup_args()\n    args.reqSeq = reqSeq\n    args.groupId = groupId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_leaveGroup(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = leaveGroup_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def leaveRoom(self, reqSeq, roomId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - roomId\n    \"\"\"\n    self.send_leaveRoom(reqSeq, roomId)\n    self.recv_leaveRoom()\n\n  def send_leaveRoom(self, reqSeq, roomId):\n    self._oprot.writeMessageBegin('leaveRoom', TMessageType.CALL, self._seqid)\n    args = leaveRoom_args()\n    args.reqSeq = reqSeq\n    args.roomId = roomId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_leaveRoom(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = leaveRoom_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def loginWithIdentityCredential(self, identityProvider, identifier, password, keepLoggedIn, accessLocation, systemName, certificate):\n    \"\"\"\n    Parameters:\n     - identityProvider\n     - identifier\n     - password\n     - keepLoggedIn\n     - accessLocation\n     - systemName\n     - certificate\n    \"\"\"\n    self.send_loginWithIdentityCredential(identityProvider, identifier, password, keepLoggedIn, accessLocation, systemName, certificate)\n    return self.recv_loginWithIdentityCredential()\n\n  def send_loginWithIdentityCredential(self, identityProvider, identifier, password, keepLoggedIn, accessLocation, systemName, certificate):\n    self._oprot.writeMessageBegin('loginWithIdentityCredential', TMessageType.CALL, self._seqid)\n    args = loginWithIdentityCredential_args()\n    args.identityProvider = identityProvider\n    args.identifier = identifier\n    args.password = password\n    args.keepLoggedIn = keepLoggedIn\n    args.accessLocation = accessLocation\n    args.systemName = systemName\n    args.certificate = certificate\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_loginWithIdentityCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = loginWithIdentityCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"loginWithIdentityCredential failed: unknown result\")\n\n  def loginWithIdentityCredentialForCertificate(self, identityProvider, identifier, password, keepLoggedIn, accessLocation, systemName, certificate):\n    \"\"\"\n    Parameters:\n     - identityProvider\n     - identifier\n     - password\n     - keepLoggedIn\n     - accessLocation\n     - systemName\n     - certificate\n    \"\"\"\n    self.send_loginWithIdentityCredentialForCertificate(identityProvider, identifier, password, keepLoggedIn, accessLocation, systemName, certificate)\n    return self.recv_loginWithIdentityCredentialForCertificate()\n\n  def send_loginWithIdentityCredentialForCertificate(self, identityProvider, identifier, password, keepLoggedIn, accessLocation, systemName, certificate):\n    self._oprot.writeMessageBegin('loginWithIdentityCredentialForCertificate', TMessageType.CALL, self._seqid)\n    args = loginWithIdentityCredentialForCertificate_args()\n    args.identityProvider = identityProvider\n    args.identifier = identifier\n    args.password = password\n    args.keepLoggedIn = keepLoggedIn\n    args.accessLocation = accessLocation\n    args.systemName = systemName\n    args.certificate = certificate\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_loginWithIdentityCredentialForCertificate(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = loginWithIdentityCredentialForCertificate_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"loginWithIdentityCredentialForCertificate failed: unknown result\")\n\n  def loginWithVerifier(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    self.send_loginWithVerifier(verifier)\n    return self.recv_loginWithVerifier()\n\n  def send_loginWithVerifier(self, verifier):\n    self._oprot.writeMessageBegin('loginWithVerifier', TMessageType.CALL, self._seqid)\n    args = loginWithVerifier_args()\n    args.verifier = verifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_loginWithVerifier(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = loginWithVerifier_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"loginWithVerifier failed: unknown result\")\n\n  def loginWithVerifierForCerificate(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    self.send_loginWithVerifierForCerificate(verifier)\n    return self.recv_loginWithVerifierForCerificate()\n\n  def send_loginWithVerifierForCerificate(self, verifier):\n    self._oprot.writeMessageBegin('loginWithVerifierForCerificate', TMessageType.CALL, self._seqid)\n    args = loginWithVerifierForCerificate_args()\n    args.verifier = verifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_loginWithVerifierForCerificate(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = loginWithVerifierForCerificate_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"loginWithVerifierForCerificate failed: unknown result\")\n\n  def loginWithVerifierForCertificate(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    self.send_loginWithVerifierForCertificate(verifier)\n    return self.recv_loginWithVerifierForCertificate()\n\n  def send_loginWithVerifierForCertificate(self, verifier):\n    self._oprot.writeMessageBegin('loginWithVerifierForCertificate', TMessageType.CALL, self._seqid)\n    args = loginWithVerifierForCertificate_args()\n    args.verifier = verifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_loginWithVerifierForCertificate(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = loginWithVerifierForCertificate_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"loginWithVerifierForCertificate failed: unknown result\")\n\n  def logout(self):\n    self.send_logout()\n    self.recv_logout()\n\n  def send_logout(self):\n    self._oprot.writeMessageBegin('logout', TMessageType.CALL, self._seqid)\n    args = logout_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_logout(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = logout_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def logoutSession(self, tokenKey):\n    \"\"\"\n    Parameters:\n     - tokenKey\n    \"\"\"\n    self.send_logoutSession(tokenKey)\n    self.recv_logoutSession()\n\n  def send_logoutSession(self, tokenKey):\n    self._oprot.writeMessageBegin('logoutSession', TMessageType.CALL, self._seqid)\n    args = logoutSession_args()\n    args.tokenKey = tokenKey\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_logoutSession(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = logoutSession_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def noop(self):\n    self.send_noop()\n    self.recv_noop()\n\n  def send_noop(self):\n    self._oprot.writeMessageBegin('noop', TMessageType.CALL, self._seqid)\n    args = noop_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_noop(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = noop_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def notifiedRedirect(self, paramMap):\n    \"\"\"\n    Parameters:\n     - paramMap\n    \"\"\"\n    self.send_notifiedRedirect(paramMap)\n    self.recv_notifiedRedirect()\n\n  def send_notifiedRedirect(self, paramMap):\n    self._oprot.writeMessageBegin('notifiedRedirect', TMessageType.CALL, self._seqid)\n    args = notifiedRedirect_args()\n    args.paramMap = paramMap\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifiedRedirect(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifiedRedirect_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def notifyBuddyOnAir(self, seq, receiverMids):\n    \"\"\"\n    Parameters:\n     - seq\n     - receiverMids\n    \"\"\"\n    self.send_notifyBuddyOnAir(seq, receiverMids)\n    return self.recv_notifyBuddyOnAir()\n\n  def send_notifyBuddyOnAir(self, seq, receiverMids):\n    self._oprot.writeMessageBegin('notifyBuddyOnAir', TMessageType.CALL, self._seqid)\n    args = notifyBuddyOnAir_args()\n    args.seq = seq\n    args.receiverMids = receiverMids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifyBuddyOnAir(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifyBuddyOnAir_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"notifyBuddyOnAir failed: unknown result\")\n\n  def notifyIndividualEvent(self, notificationStatus, receiverMids):\n    \"\"\"\n    Parameters:\n     - notificationStatus\n     - receiverMids\n    \"\"\"\n    self.send_notifyIndividualEvent(notificationStatus, receiverMids)\n    self.recv_notifyIndividualEvent()\n\n  def send_notifyIndividualEvent(self, notificationStatus, receiverMids):\n    self._oprot.writeMessageBegin('notifyIndividualEvent', TMessageType.CALL, self._seqid)\n    args = notifyIndividualEvent_args()\n    args.notificationStatus = notificationStatus\n    args.receiverMids = receiverMids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifyIndividualEvent(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifyIndividualEvent_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def notifyInstalled(self, udidHash, applicationTypeWithExtensions):\n    \"\"\"\n    Parameters:\n     - udidHash\n     - applicationTypeWithExtensions\n    \"\"\"\n    self.send_notifyInstalled(udidHash, applicationTypeWithExtensions)\n    self.recv_notifyInstalled()\n\n  def send_notifyInstalled(self, udidHash, applicationTypeWithExtensions):\n    self._oprot.writeMessageBegin('notifyInstalled', TMessageType.CALL, self._seqid)\n    args = notifyInstalled_args()\n    args.udidHash = udidHash\n    args.applicationTypeWithExtensions = applicationTypeWithExtensions\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifyInstalled(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifyInstalled_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    return\n\n  def notifyRegistrationComplete(self, udidHash, applicationTypeWithExtensions):\n    \"\"\"\n    Parameters:\n     - udidHash\n     - applicationTypeWithExtensions\n    \"\"\"\n    self.send_notifyRegistrationComplete(udidHash, applicationTypeWithExtensions)\n    self.recv_notifyRegistrationComplete()\n\n  def send_notifyRegistrationComplete(self, udidHash, applicationTypeWithExtensions):\n    self._oprot.writeMessageBegin('notifyRegistrationComplete', TMessageType.CALL, self._seqid)\n    args = notifyRegistrationComplete_args()\n    args.udidHash = udidHash\n    args.applicationTypeWithExtensions = applicationTypeWithExtensions\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifyRegistrationComplete(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifyRegistrationComplete_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    return\n\n  def notifySleep(self, lastRev, badge):\n    \"\"\"\n    Parameters:\n     - lastRev\n     - badge\n    \"\"\"\n    self.send_notifySleep(lastRev, badge)\n    self.recv_notifySleep()\n\n  def send_notifySleep(self, lastRev, badge):\n    self._oprot.writeMessageBegin('notifySleep', TMessageType.CALL, self._seqid)\n    args = notifySleep_args()\n    args.lastRev = lastRev\n    args.badge = badge\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifySleep(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifySleep_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def notifyUpdated(self, lastRev, deviceInfo):\n    \"\"\"\n    Parameters:\n     - lastRev\n     - deviceInfo\n    \"\"\"\n    self.send_notifyUpdated(lastRev, deviceInfo)\n    self.recv_notifyUpdated()\n\n  def send_notifyUpdated(self, lastRev, deviceInfo):\n    self._oprot.writeMessageBegin('notifyUpdated', TMessageType.CALL, self._seqid)\n    args = notifyUpdated_args()\n    args.lastRev = lastRev\n    args.deviceInfo = deviceInfo\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notifyUpdated(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notifyUpdated_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def openProximityMatch(self, location):\n    \"\"\"\n    Parameters:\n     - location\n    \"\"\"\n    self.send_openProximityMatch(location)\n    return self.recv_openProximityMatch()\n\n  def send_openProximityMatch(self, location):\n    self._oprot.writeMessageBegin('openProximityMatch', TMessageType.CALL, self._seqid)\n    args = openProximityMatch_args()\n    args.location = location\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_openProximityMatch(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = openProximityMatch_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"openProximityMatch failed: unknown result\")\n\n  def registerBuddyUser(self, buddyId, registrarPassword):\n    \"\"\"\n    Parameters:\n     - buddyId\n     - registrarPassword\n    \"\"\"\n    self.send_registerBuddyUser(buddyId, registrarPassword)\n    return self.recv_registerBuddyUser()\n\n  def send_registerBuddyUser(self, buddyId, registrarPassword):\n    self._oprot.writeMessageBegin('registerBuddyUser', TMessageType.CALL, self._seqid)\n    args = registerBuddyUser_args()\n    args.buddyId = buddyId\n    args.registrarPassword = registrarPassword\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerBuddyUser(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerBuddyUser_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerBuddyUser failed: unknown result\")\n\n  def registerBuddyUserid(self, seq, userid):\n    \"\"\"\n    Parameters:\n     - seq\n     - userid\n    \"\"\"\n    self.send_registerBuddyUserid(seq, userid)\n    self.recv_registerBuddyUserid()\n\n  def send_registerBuddyUserid(self, seq, userid):\n    self._oprot.writeMessageBegin('registerBuddyUserid', TMessageType.CALL, self._seqid)\n    args = registerBuddyUserid_args()\n    args.seq = seq\n    args.userid = userid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerBuddyUserid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerBuddyUserid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def registerDevice(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    self.send_registerDevice(sessionId)\n    return self.recv_registerDevice()\n\n  def send_registerDevice(self, sessionId):\n    self._oprot.writeMessageBegin('registerDevice', TMessageType.CALL, self._seqid)\n    args = registerDevice_args()\n    args.sessionId = sessionId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerDevice(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerDevice_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerDevice failed: unknown result\")\n\n  def registerDeviceWithIdentityCredential(self, sessionId, provider, identifier, verifier):\n    \"\"\"\n    Parameters:\n     - sessionId\n     - provider\n     - identifier\n     - verifier\n    \"\"\"\n    self.send_registerDeviceWithIdentityCredential(sessionId, provider, identifier, verifier)\n    return self.recv_registerDeviceWithIdentityCredential()\n\n  def send_registerDeviceWithIdentityCredential(self, sessionId, provider, identifier, verifier):\n    self._oprot.writeMessageBegin('registerDeviceWithIdentityCredential', TMessageType.CALL, self._seqid)\n    args = registerDeviceWithIdentityCredential_args()\n    args.sessionId = sessionId\n    args.provider = provider\n    args.identifier = identifier\n    args.verifier = verifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerDeviceWithIdentityCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerDeviceWithIdentityCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerDeviceWithIdentityCredential failed: unknown result\")\n\n  def registerDeviceWithoutPhoneNumber(self, region, udidHash, deviceInfo):\n    \"\"\"\n    Parameters:\n     - region\n     - udidHash\n     - deviceInfo\n    \"\"\"\n    self.send_registerDeviceWithoutPhoneNumber(region, udidHash, deviceInfo)\n    return self.recv_registerDeviceWithoutPhoneNumber()\n\n  def send_registerDeviceWithoutPhoneNumber(self, region, udidHash, deviceInfo):\n    self._oprot.writeMessageBegin('registerDeviceWithoutPhoneNumber', TMessageType.CALL, self._seqid)\n    args = registerDeviceWithoutPhoneNumber_args()\n    args.region = region\n    args.udidHash = udidHash\n    args.deviceInfo = deviceInfo\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerDeviceWithoutPhoneNumber(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerDeviceWithoutPhoneNumber_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerDeviceWithoutPhoneNumber failed: unknown result\")\n\n  def registerDeviceWithoutPhoneNumberWithIdentityCredential(self, region, udidHash, deviceInfo, provider, identifier, verifier, mid):\n    \"\"\"\n    Parameters:\n     - region\n     - udidHash\n     - deviceInfo\n     - provider\n     - identifier\n     - verifier\n     - mid\n    \"\"\"\n    self.send_registerDeviceWithoutPhoneNumberWithIdentityCredential(region, udidHash, deviceInfo, provider, identifier, verifier, mid)\n    return self.recv_registerDeviceWithoutPhoneNumberWithIdentityCredential()\n\n  def send_registerDeviceWithoutPhoneNumberWithIdentityCredential(self, region, udidHash, deviceInfo, provider, identifier, verifier, mid):\n    self._oprot.writeMessageBegin('registerDeviceWithoutPhoneNumberWithIdentityCredential', TMessageType.CALL, self._seqid)\n    args = registerDeviceWithoutPhoneNumberWithIdentityCredential_args()\n    args.region = region\n    args.udidHash = udidHash\n    args.deviceInfo = deviceInfo\n    args.provider = provider\n    args.identifier = identifier\n    args.verifier = verifier\n    args.mid = mid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerDeviceWithoutPhoneNumberWithIdentityCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerDeviceWithoutPhoneNumberWithIdentityCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerDeviceWithoutPhoneNumberWithIdentityCredential failed: unknown result\")\n\n  def registerUserid(self, reqSeq, userid):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - userid\n    \"\"\"\n    self.send_registerUserid(reqSeq, userid)\n    return self.recv_registerUserid()\n\n  def send_registerUserid(self, reqSeq, userid):\n    self._oprot.writeMessageBegin('registerUserid', TMessageType.CALL, self._seqid)\n    args = registerUserid_args()\n    args.reqSeq = reqSeq\n    args.userid = userid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerUserid(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerUserid_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerUserid failed: unknown result\")\n\n  def registerWapDevice(self, invitationHash, guidHash, email, deviceInfo):\n    \"\"\"\n    Parameters:\n     - invitationHash\n     - guidHash\n     - email\n     - deviceInfo\n    \"\"\"\n    self.send_registerWapDevice(invitationHash, guidHash, email, deviceInfo)\n    return self.recv_registerWapDevice()\n\n  def send_registerWapDevice(self, invitationHash, guidHash, email, deviceInfo):\n    self._oprot.writeMessageBegin('registerWapDevice', TMessageType.CALL, self._seqid)\n    args = registerWapDevice_args()\n    args.invitationHash = invitationHash\n    args.guidHash = guidHash\n    args.email = email\n    args.deviceInfo = deviceInfo\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerWapDevice(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerWapDevice_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerWapDevice failed: unknown result\")\n\n  def registerWithExistingSnsIdAndIdentityCredential(self, identityCredential, region, udidHash, deviceInfo):\n    \"\"\"\n    Parameters:\n     - identityCredential\n     - region\n     - udidHash\n     - deviceInfo\n    \"\"\"\n    self.send_registerWithExistingSnsIdAndIdentityCredential(identityCredential, region, udidHash, deviceInfo)\n    return self.recv_registerWithExistingSnsIdAndIdentityCredential()\n\n  def send_registerWithExistingSnsIdAndIdentityCredential(self, identityCredential, region, udidHash, deviceInfo):\n    self._oprot.writeMessageBegin('registerWithExistingSnsIdAndIdentityCredential', TMessageType.CALL, self._seqid)\n    args = registerWithExistingSnsIdAndIdentityCredential_args()\n    args.identityCredential = identityCredential\n    args.region = region\n    args.udidHash = udidHash\n    args.deviceInfo = deviceInfo\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerWithExistingSnsIdAndIdentityCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerWithExistingSnsIdAndIdentityCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerWithExistingSnsIdAndIdentityCredential failed: unknown result\")\n\n  def registerWithSnsId(self, snsIdType, snsAccessToken, region, udidHash, deviceInfo, mid):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - region\n     - udidHash\n     - deviceInfo\n     - mid\n    \"\"\"\n    self.send_registerWithSnsId(snsIdType, snsAccessToken, region, udidHash, deviceInfo, mid)\n    return self.recv_registerWithSnsId()\n\n  def send_registerWithSnsId(self, snsIdType, snsAccessToken, region, udidHash, deviceInfo, mid):\n    self._oprot.writeMessageBegin('registerWithSnsId', TMessageType.CALL, self._seqid)\n    args = registerWithSnsId_args()\n    args.snsIdType = snsIdType\n    args.snsAccessToken = snsAccessToken\n    args.region = region\n    args.udidHash = udidHash\n    args.deviceInfo = deviceInfo\n    args.mid = mid\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerWithSnsId(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerWithSnsId_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerWithSnsId failed: unknown result\")\n\n  def registerWithSnsIdAndIdentityCredential(self, snsIdType, snsAccessToken, identityCredential, region, udidHash, deviceInfo):\n    \"\"\"\n    Parameters:\n     - snsIdType\n     - snsAccessToken\n     - identityCredential\n     - region\n     - udidHash\n     - deviceInfo\n    \"\"\"\n    self.send_registerWithSnsIdAndIdentityCredential(snsIdType, snsAccessToken, identityCredential, region, udidHash, deviceInfo)\n    return self.recv_registerWithSnsIdAndIdentityCredential()\n\n  def send_registerWithSnsIdAndIdentityCredential(self, snsIdType, snsAccessToken, identityCredential, region, udidHash, deviceInfo):\n    self._oprot.writeMessageBegin('registerWithSnsIdAndIdentityCredential', TMessageType.CALL, self._seqid)\n    args = registerWithSnsIdAndIdentityCredential_args()\n    args.snsIdType = snsIdType\n    args.snsAccessToken = snsAccessToken\n    args.identityCredential = identityCredential\n    args.region = region\n    args.udidHash = udidHash\n    args.deviceInfo = deviceInfo\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_registerWithSnsIdAndIdentityCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = registerWithSnsIdAndIdentityCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"registerWithSnsIdAndIdentityCredential failed: unknown result\")\n\n  def reissueDeviceCredential(self):\n    self.send_reissueDeviceCredential()\n    return self.recv_reissueDeviceCredential()\n\n  def send_reissueDeviceCredential(self):\n    self._oprot.writeMessageBegin('reissueDeviceCredential', TMessageType.CALL, self._seqid)\n    args = reissueDeviceCredential_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reissueDeviceCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reissueDeviceCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"reissueDeviceCredential failed: unknown result\")\n\n  def reissueUserTicket(self, expirationTime, maxUseCount):\n    \"\"\"\n    Parameters:\n     - expirationTime\n     - maxUseCount\n    \"\"\"\n    self.send_reissueUserTicket(expirationTime, maxUseCount)\n    return self.recv_reissueUserTicket()\n\n  def send_reissueUserTicket(self, expirationTime, maxUseCount):\n    self._oprot.writeMessageBegin('reissueUserTicket', TMessageType.CALL, self._seqid)\n    args = reissueUserTicket_args()\n    args.expirationTime = expirationTime\n    args.maxUseCount = maxUseCount\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reissueUserTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reissueUserTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"reissueUserTicket failed: unknown result\")\n\n  def reissueGroupTicket(self, groupId):\n    \"\"\"\n    Parameters:\n     - groupId\n    \"\"\"\n    self.send_reissueGroupTicket(groupId)\n    return self.recv_reissueGroupTicket()\n\n  def send_reissueGroupTicket(self, groupId):\n    self._oprot.writeMessageBegin('reissueGroupTicket', TMessageType.CALL, self._seqid)\n    args = reissueGroupTicket_args()\n    args.groupId = groupId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reissueGroupTicket(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reissueGroupTicket_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"reissueGroupTicket failed: unknown result\")\n\n  def rejectGroupInvitation(self, reqSeq, groupId):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - groupId\n    \"\"\"\n    self.send_rejectGroupInvitation(reqSeq, groupId)\n    self.recv_rejectGroupInvitation()\n\n  def send_rejectGroupInvitation(self, reqSeq, groupId):\n    self._oprot.writeMessageBegin('rejectGroupInvitation', TMessageType.CALL, self._seqid)\n    args = rejectGroupInvitation_args()\n    args.reqSeq = reqSeq\n    args.groupId = groupId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_rejectGroupInvitation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = rejectGroupInvitation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def releaseSession(self):\n    self.send_releaseSession()\n    self.recv_releaseSession()\n\n  def send_releaseSession(self):\n    self._oprot.writeMessageBegin('releaseSession', TMessageType.CALL, self._seqid)\n    args = releaseSession_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_releaseSession(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = releaseSession_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def removeAllMessages(self, seq, lastMessageId):\n    \"\"\"\n    Parameters:\n     - seq\n     - lastMessageId\n    \"\"\"\n    self.send_removeAllMessages(seq, lastMessageId)\n    self.recv_removeAllMessages()\n\n  def send_removeAllMessages(self, seq, lastMessageId):\n    self._oprot.writeMessageBegin('removeAllMessages', TMessageType.CALL, self._seqid)\n    args = removeAllMessages_args()\n    args.seq = seq\n    args.lastMessageId = lastMessageId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_removeAllMessages(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = removeAllMessages_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def removeBuddyLocation(self, mid, index):\n    \"\"\"\n    Parameters:\n     - mid\n     - index\n    \"\"\"\n    self.send_removeBuddyLocation(mid, index)\n    self.recv_removeBuddyLocation()\n\n  def send_removeBuddyLocation(self, mid, index):\n    self._oprot.writeMessageBegin('removeBuddyLocation', TMessageType.CALL, self._seqid)\n    args = removeBuddyLocation_args()\n    args.mid = mid\n    args.index = index\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_removeBuddyLocation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = removeBuddyLocation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def removeMessage(self, messageId):\n    \"\"\"\n    Parameters:\n     - messageId\n    \"\"\"\n    self.send_removeMessage(messageId)\n    return self.recv_removeMessage()\n\n  def send_removeMessage(self, messageId):\n    self._oprot.writeMessageBegin('removeMessage', TMessageType.CALL, self._seqid)\n    args = removeMessage_args()\n    args.messageId = messageId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_removeMessage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = removeMessage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"removeMessage failed: unknown result\")\n\n  def removeMessageFromMyHome(self, messageId):\n    \"\"\"\n    Parameters:\n     - messageId\n    \"\"\"\n    self.send_removeMessageFromMyHome(messageId)\n    return self.recv_removeMessageFromMyHome()\n\n  def send_removeMessageFromMyHome(self, messageId):\n    self._oprot.writeMessageBegin('removeMessageFromMyHome', TMessageType.CALL, self._seqid)\n    args = removeMessageFromMyHome_args()\n    args.messageId = messageId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_removeMessageFromMyHome(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = removeMessageFromMyHome_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"removeMessageFromMyHome failed: unknown result\")\n\n  def removeSnsId(self, snsIdType):\n    \"\"\"\n    Parameters:\n     - snsIdType\n    \"\"\"\n    self.send_removeSnsId(snsIdType)\n    return self.recv_removeSnsId()\n\n  def send_removeSnsId(self, snsIdType):\n    self._oprot.writeMessageBegin('removeSnsId', TMessageType.CALL, self._seqid)\n    args = removeSnsId_args()\n    args.snsIdType = snsIdType\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_removeSnsId(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = removeSnsId_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"removeSnsId failed: unknown result\")\n\n  def report(self, syncOpRevision, category, report):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - category\n     - report\n    \"\"\"\n    self.send_report(syncOpRevision, category, report)\n    self.recv_report()\n\n  def send_report(self, syncOpRevision, category, report):\n    self._oprot.writeMessageBegin('report', TMessageType.CALL, self._seqid)\n    args = report_args()\n    args.syncOpRevision = syncOpRevision\n    args.category = category\n    args.report = report\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_report(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = report_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def reportContacts(self, syncOpRevision, category, contactReports, actionType):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - category\n     - contactReports\n     - actionType\n    \"\"\"\n    self.send_reportContacts(syncOpRevision, category, contactReports, actionType)\n    return self.recv_reportContacts()\n\n  def send_reportContacts(self, syncOpRevision, category, contactReports, actionType):\n    self._oprot.writeMessageBegin('reportContacts', TMessageType.CALL, self._seqid)\n    args = reportContacts_args()\n    args.syncOpRevision = syncOpRevision\n    args.category = category\n    args.contactReports = contactReports\n    args.actionType = actionType\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reportContacts(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reportContacts_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"reportContacts failed: unknown result\")\n\n  def reportGroups(self, syncOpRevision, groups):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - groups\n    \"\"\"\n    self.send_reportGroups(syncOpRevision, groups)\n    self.recv_reportGroups()\n\n  def send_reportGroups(self, syncOpRevision, groups):\n    self._oprot.writeMessageBegin('reportGroups', TMessageType.CALL, self._seqid)\n    args = reportGroups_args()\n    args.syncOpRevision = syncOpRevision\n    args.groups = groups\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reportGroups(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reportGroups_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def reportProfile(self, syncOpRevision, profile):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - profile\n    \"\"\"\n    self.send_reportProfile(syncOpRevision, profile)\n    self.recv_reportProfile()\n\n  def send_reportProfile(self, syncOpRevision, profile):\n    self._oprot.writeMessageBegin('reportProfile', TMessageType.CALL, self._seqid)\n    args = reportProfile_args()\n    args.syncOpRevision = syncOpRevision\n    args.profile = profile\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reportProfile(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reportProfile_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def reportRooms(self, syncOpRevision, rooms):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - rooms\n    \"\"\"\n    self.send_reportRooms(syncOpRevision, rooms)\n    self.recv_reportRooms()\n\n  def send_reportRooms(self, syncOpRevision, rooms):\n    self._oprot.writeMessageBegin('reportRooms', TMessageType.CALL, self._seqid)\n    args = reportRooms_args()\n    args.syncOpRevision = syncOpRevision\n    args.rooms = rooms\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reportRooms(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reportRooms_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def reportSettings(self, syncOpRevision, settings):\n    \"\"\"\n    Parameters:\n     - syncOpRevision\n     - settings\n    \"\"\"\n    self.send_reportSettings(syncOpRevision, settings)\n    self.recv_reportSettings()\n\n  def send_reportSettings(self, syncOpRevision, settings):\n    self._oprot.writeMessageBegin('reportSettings', TMessageType.CALL, self._seqid)\n    args = reportSettings_args()\n    args.syncOpRevision = syncOpRevision\n    args.settings = settings\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reportSettings(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reportSettings_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def reportSpammer(self, spammerMid, spammerReasons, spamMessageIds):\n    \"\"\"\n    Parameters:\n     - spammerMid\n     - spammerReasons\n     - spamMessageIds\n    \"\"\"\n    self.send_reportSpammer(spammerMid, spammerReasons, spamMessageIds)\n    self.recv_reportSpammer()\n\n  def send_reportSpammer(self, spammerMid, spammerReasons, spamMessageIds):\n    self._oprot.writeMessageBegin('reportSpammer', TMessageType.CALL, self._seqid)\n    args = reportSpammer_args()\n    args.spammerMid = spammerMid\n    args.spammerReasons = spammerReasons\n    args.spamMessageIds = spamMessageIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_reportSpammer(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = reportSpammer_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def requestAccountPasswordReset(self, provider, identifier, locale):\n    \"\"\"\n    Parameters:\n     - provider\n     - identifier\n     - locale\n    \"\"\"\n    self.send_requestAccountPasswordReset(provider, identifier, locale)\n    self.recv_requestAccountPasswordReset()\n\n  def send_requestAccountPasswordReset(self, provider, identifier, locale):\n    self._oprot.writeMessageBegin('requestAccountPasswordReset', TMessageType.CALL, self._seqid)\n    args = requestAccountPasswordReset_args()\n    args.provider = provider\n    args.identifier = identifier\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_requestAccountPasswordReset(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = requestAccountPasswordReset_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def requestEmailConfirmation(self, emailConfirmation):\n    \"\"\"\n    Parameters:\n     - emailConfirmation\n    \"\"\"\n    self.send_requestEmailConfirmation(emailConfirmation)\n    return self.recv_requestEmailConfirmation()\n\n  def send_requestEmailConfirmation(self, emailConfirmation):\n    self._oprot.writeMessageBegin('requestEmailConfirmation', TMessageType.CALL, self._seqid)\n    args = requestEmailConfirmation_args()\n    args.emailConfirmation = emailConfirmation\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_requestEmailConfirmation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = requestEmailConfirmation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"requestEmailConfirmation failed: unknown result\")\n\n  def requestIdentityUnbind(self, provider, identifier):\n    \"\"\"\n    Parameters:\n     - provider\n     - identifier\n    \"\"\"\n    self.send_requestIdentityUnbind(provider, identifier)\n    self.recv_requestIdentityUnbind()\n\n  def send_requestIdentityUnbind(self, provider, identifier):\n    self._oprot.writeMessageBegin('requestIdentityUnbind', TMessageType.CALL, self._seqid)\n    args = requestIdentityUnbind_args()\n    args.provider = provider\n    args.identifier = identifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_requestIdentityUnbind(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = requestIdentityUnbind_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def resendEmailConfirmation(self, verifier):\n    \"\"\"\n    Parameters:\n     - verifier\n    \"\"\"\n    self.send_resendEmailConfirmation(verifier)\n    return self.recv_resendEmailConfirmation()\n\n  def send_resendEmailConfirmation(self, verifier):\n    self._oprot.writeMessageBegin('resendEmailConfirmation', TMessageType.CALL, self._seqid)\n    args = resendEmailConfirmation_args()\n    args.verifier = verifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_resendEmailConfirmation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = resendEmailConfirmation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"resendEmailConfirmation failed: unknown result\")\n\n  def resendPinCode(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    self.send_resendPinCode(sessionId)\n    self.recv_resendPinCode()\n\n  def send_resendPinCode(self, sessionId):\n    self._oprot.writeMessageBegin('resendPinCode', TMessageType.CALL, self._seqid)\n    args = resendPinCode_args()\n    args.sessionId = sessionId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_resendPinCode(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = resendPinCode_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def resendPinCodeBySMS(self, sessionId):\n    \"\"\"\n    Parameters:\n     - sessionId\n    \"\"\"\n    self.send_resendPinCodeBySMS(sessionId)\n    self.recv_resendPinCodeBySMS()\n\n  def send_resendPinCodeBySMS(self, sessionId):\n    self._oprot.writeMessageBegin('resendPinCodeBySMS', TMessageType.CALL, self._seqid)\n    args = resendPinCodeBySMS_args()\n    args.sessionId = sessionId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_resendPinCodeBySMS(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = resendPinCodeBySMS_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def sendChatChecked(self, seq, consumer, lastMessageId):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - lastMessageId\n    \"\"\"\n    self.send_sendChatChecked(seq, consumer, lastMessageId)\n    self.recv_sendChatChecked()\n\n  def send_sendChatChecked(self, seq, consumer, lastMessageId):\n    self._oprot.writeMessageBegin('sendChatChecked', TMessageType.CALL, self._seqid)\n    args = sendChatChecked_args()\n    args.seq = seq\n    args.consumer = consumer\n    args.lastMessageId = lastMessageId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendChatChecked(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendChatChecked_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def sendChatRemoved(self, seq, consumer, lastMessageId):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - lastMessageId\n    \"\"\"\n    self.send_sendChatRemoved(seq, consumer, lastMessageId)\n    self.recv_sendChatRemoved()\n\n  def send_sendChatRemoved(self, seq, consumer, lastMessageId):\n    self._oprot.writeMessageBegin('sendChatRemoved', TMessageType.CALL, self._seqid)\n    args = sendChatRemoved_args()\n    args.seq = seq\n    args.consumer = consumer\n    args.lastMessageId = lastMessageId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendChatRemoved(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendChatRemoved_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def sendContentPreviewUpdated(self, esq, messageId, receiverMids):\n    \"\"\"\n    Parameters:\n     - esq\n     - messageId\n     - receiverMids\n    \"\"\"\n    self.send_sendContentPreviewUpdated(esq, messageId, receiverMids)\n    return self.recv_sendContentPreviewUpdated()\n\n  def send_sendContentPreviewUpdated(self, esq, messageId, receiverMids):\n    self._oprot.writeMessageBegin('sendContentPreviewUpdated', TMessageType.CALL, self._seqid)\n    args = sendContentPreviewUpdated_args()\n    args.esq = esq\n    args.messageId = messageId\n    args.receiverMids = receiverMids\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendContentPreviewUpdated(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendContentPreviewUpdated_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendContentPreviewUpdated failed: unknown result\")\n\n  def sendContentReceipt(self, seq, consumer, messageId):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - messageId\n    \"\"\"\n    self.send_sendContentReceipt(seq, consumer, messageId)\n    self.recv_sendContentReceipt()\n\n  def send_sendContentReceipt(self, seq, consumer, messageId):\n    self._oprot.writeMessageBegin('sendContentReceipt', TMessageType.CALL, self._seqid)\n    args = sendContentReceipt_args()\n    args.seq = seq\n    args.consumer = consumer\n    args.messageId = messageId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendContentReceipt(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendContentReceipt_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def sendDummyPush(self):\n    self.send_sendDummyPush()\n    self.recv_sendDummyPush()\n\n  def send_sendDummyPush(self):\n    self._oprot.writeMessageBegin('sendDummyPush', TMessageType.CALL, self._seqid)\n    args = sendDummyPush_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendDummyPush(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendDummyPush_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def sendEvent(self, seq, message):\n    \"\"\"\n    Parameters:\n     - seq\n     - message\n    \"\"\"\n    self.send_sendEvent(seq, message)\n    return self.recv_sendEvent()\n\n  def send_sendEvent(self, seq, message):\n    self._oprot.writeMessageBegin('sendEvent', TMessageType.CALL, self._seqid)\n    args = sendEvent_args()\n    args.seq = seq\n    args.message = message\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendEvent(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendEvent_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendEvent failed: unknown result\")\n\n  def sendMessage(self, seq, message):\n    \"\"\"\n    Parameters:\n     - seq\n     - message\n    \"\"\"\n    self.send_sendMessage(seq, message)\n    return self.recv_sendMessage()\n\n  def send_sendMessage(self, seq, message):\n    self._oprot.writeMessageBegin('sendMessage', TMessageType.CALL, self._seqid)\n    args = sendMessage_args()\n    args.seq = seq\n    args.message = message\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendMessage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendMessage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendMessage failed: unknown result\")\n\n  def sendMessageIgnored(self, seq, consumer, messageIds):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - messageIds\n    \"\"\"\n    self.send_sendMessageIgnored(seq, consumer, messageIds)\n    self.recv_sendMessageIgnored()\n\n  def send_sendMessageIgnored(self, seq, consumer, messageIds):\n    self._oprot.writeMessageBegin('sendMessageIgnored', TMessageType.CALL, self._seqid)\n    args = sendMessageIgnored_args()\n    args.seq = seq\n    args.consumer = consumer\n    args.messageIds = messageIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendMessageIgnored(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendMessageIgnored_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def sendMessageReceipt(self, seq, consumer, messageIds):\n    \"\"\"\n    Parameters:\n     - seq\n     - consumer\n     - messageIds\n    \"\"\"\n    self.send_sendMessageReceipt(seq, consumer, messageIds)\n    self.recv_sendMessageReceipt()\n\n  def send_sendMessageReceipt(self, seq, consumer, messageIds):\n    self._oprot.writeMessageBegin('sendMessageReceipt', TMessageType.CALL, self._seqid)\n    args = sendMessageReceipt_args()\n    args.seq = seq\n    args.consumer = consumer\n    args.messageIds = messageIds\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendMessageReceipt(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendMessageReceipt_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def sendMessageToMyHome(self, seq, message):\n    \"\"\"\n    Parameters:\n     - seq\n     - message\n    \"\"\"\n    self.send_sendMessageToMyHome(seq, message)\n    return self.recv_sendMessageToMyHome()\n\n  def send_sendMessageToMyHome(self, seq, message):\n    self._oprot.writeMessageBegin('sendMessageToMyHome', TMessageType.CALL, self._seqid)\n    args = sendMessageToMyHome_args()\n    args.seq = seq\n    args.message = message\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_sendMessageToMyHome(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = sendMessageToMyHome_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"sendMessageToMyHome failed: unknown result\")\n\n  def setBuddyLocation(self, mid, index, location):\n    \"\"\"\n    Parameters:\n     - mid\n     - index\n     - location\n    \"\"\"\n    self.send_setBuddyLocation(mid, index, location)\n    self.recv_setBuddyLocation()\n\n  def send_setBuddyLocation(self, mid, index, location):\n    self._oprot.writeMessageBegin('setBuddyLocation', TMessageType.CALL, self._seqid)\n    args = setBuddyLocation_args()\n    args.mid = mid\n    args.index = index\n    args.location = location\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_setBuddyLocation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = setBuddyLocation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def setIdentityCredential(self, provider, identifier, verifier):\n    \"\"\"\n    Parameters:\n     - provider\n     - identifier\n     - verifier\n    \"\"\"\n    self.send_setIdentityCredential(provider, identifier, verifier)\n    self.recv_setIdentityCredential()\n\n  def send_setIdentityCredential(self, provider, identifier, verifier):\n    self._oprot.writeMessageBegin('setIdentityCredential', TMessageType.CALL, self._seqid)\n    args = setIdentityCredential_args()\n    args.provider = provider\n    args.identifier = identifier\n    args.verifier = verifier\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_setIdentityCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = setIdentityCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def setNotificationsEnabled(self, reqSeq, type, target, enablement):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - type\n     - target\n     - enablement\n    \"\"\"\n    self.send_setNotificationsEnabled(reqSeq, type, target, enablement)\n    self.recv_setNotificationsEnabled()\n\n  def send_setNotificationsEnabled(self, reqSeq, type, target, enablement):\n    self._oprot.writeMessageBegin('setNotificationsEnabled', TMessageType.CALL, self._seqid)\n    args = setNotificationsEnabled_args()\n    args.reqSeq = reqSeq\n    args.type = type\n    args.target = target\n    args.enablement = enablement\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_setNotificationsEnabled(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = setNotificationsEnabled_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def startUpdateVerification(self, region, carrier, phone, udidHash, deviceInfo, networkCode, locale):\n    \"\"\"\n    Parameters:\n     - region\n     - carrier\n     - phone\n     - udidHash\n     - deviceInfo\n     - networkCode\n     - locale\n    \"\"\"\n    self.send_startUpdateVerification(region, carrier, phone, udidHash, deviceInfo, networkCode, locale)\n    return self.recv_startUpdateVerification()\n\n  def send_startUpdateVerification(self, region, carrier, phone, udidHash, deviceInfo, networkCode, locale):\n    self._oprot.writeMessageBegin('startUpdateVerification', TMessageType.CALL, self._seqid)\n    args = startUpdateVerification_args()\n    args.region = region\n    args.carrier = carrier\n    args.phone = phone\n    args.udidHash = udidHash\n    args.deviceInfo = deviceInfo\n    args.networkCode = networkCode\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_startUpdateVerification(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = startUpdateVerification_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"startUpdateVerification failed: unknown result\")\n\n  def startVerification(self, region, carrier, phone, udidHash, deviceInfo, networkCode, mid, locale):\n    \"\"\"\n    Parameters:\n     - region\n     - carrier\n     - phone\n     - udidHash\n     - deviceInfo\n     - networkCode\n     - mid\n     - locale\n    \"\"\"\n    self.send_startVerification(region, carrier, phone, udidHash, deviceInfo, networkCode, mid, locale)\n    return self.recv_startVerification()\n\n  def send_startVerification(self, region, carrier, phone, udidHash, deviceInfo, networkCode, mid, locale):\n    self._oprot.writeMessageBegin('startVerification', TMessageType.CALL, self._seqid)\n    args = startVerification_args()\n    args.region = region\n    args.carrier = carrier\n    args.phone = phone\n    args.udidHash = udidHash\n    args.deviceInfo = deviceInfo\n    args.networkCode = networkCode\n    args.mid = mid\n    args.locale = locale\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_startVerification(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = startVerification_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"startVerification failed: unknown result\")\n\n  def storeUpdateProfileAttribute(self, seq, profileAttribute, value):\n    \"\"\"\n    Parameters:\n     - seq\n     - profileAttribute\n     - value\n    \"\"\"\n    self.send_storeUpdateProfileAttribute(seq, profileAttribute, value)\n    self.recv_storeUpdateProfileAttribute()\n\n  def send_storeUpdateProfileAttribute(self, seq, profileAttribute, value):\n    self._oprot.writeMessageBegin('storeUpdateProfileAttribute', TMessageType.CALL, self._seqid)\n    args = storeUpdateProfileAttribute_args()\n    args.seq = seq\n    args.profileAttribute = profileAttribute\n    args.value = value\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_storeUpdateProfileAttribute(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = storeUpdateProfileAttribute_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def syncContactBySnsIds(self, reqSeq, modifications):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - modifications\n    \"\"\"\n    self.send_syncContactBySnsIds(reqSeq, modifications)\n    return self.recv_syncContactBySnsIds()\n\n  def send_syncContactBySnsIds(self, reqSeq, modifications):\n    self._oprot.writeMessageBegin('syncContactBySnsIds', TMessageType.CALL, self._seqid)\n    args = syncContactBySnsIds_args()\n    args.reqSeq = reqSeq\n    args.modifications = modifications\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_syncContactBySnsIds(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = syncContactBySnsIds_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"syncContactBySnsIds failed: unknown result\")\n\n  def syncContacts(self, reqSeq, localContacts):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - localContacts\n    \"\"\"\n    self.send_syncContacts(reqSeq, localContacts)\n    return self.recv_syncContacts()\n\n  def send_syncContacts(self, reqSeq, localContacts):\n    self._oprot.writeMessageBegin('syncContacts', TMessageType.CALL, self._seqid)\n    args = syncContacts_args()\n    args.reqSeq = reqSeq\n    args.localContacts = localContacts\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_syncContacts(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = syncContacts_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"syncContacts failed: unknown result\")\n\n  def trySendMessage(self, seq, message):\n    \"\"\"\n    Parameters:\n     - seq\n     - message\n    \"\"\"\n    self.send_trySendMessage(seq, message)\n    return self.recv_trySendMessage()\n\n  def send_trySendMessage(self, seq, message):\n    self._oprot.writeMessageBegin('trySendMessage', TMessageType.CALL, self._seqid)\n    args = trySendMessage_args()\n    args.seq = seq\n    args.message = message\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_trySendMessage(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = trySendMessage_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"trySendMessage failed: unknown result\")\n\n  def unblockContact(self, reqSeq, id):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - id\n    \"\"\"\n    self.send_unblockContact(reqSeq, id)\n    self.recv_unblockContact()\n\n  def send_unblockContact(self, reqSeq, id):\n    self._oprot.writeMessageBegin('unblockContact', TMessageType.CALL, self._seqid)\n    args = unblockContact_args()\n    args.reqSeq = reqSeq\n    args.id = id\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_unblockContact(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = unblockContact_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def unblockRecommendation(self, reqSeq, id):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - id\n    \"\"\"\n    self.send_unblockRecommendation(reqSeq, id)\n    self.recv_unblockRecommendation()\n\n  def send_unblockRecommendation(self, reqSeq, id):\n    self._oprot.writeMessageBegin('unblockRecommendation', TMessageType.CALL, self._seqid)\n    args = unblockRecommendation_args()\n    args.reqSeq = reqSeq\n    args.id = id\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_unblockRecommendation(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = unblockRecommendation_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def unregisterUserAndDevice(self):\n    self.send_unregisterUserAndDevice()\n    return self.recv_unregisterUserAndDevice()\n\n  def send_unregisterUserAndDevice(self):\n    self._oprot.writeMessageBegin('unregisterUserAndDevice', TMessageType.CALL, self._seqid)\n    args = unregisterUserAndDevice_args()\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_unregisterUserAndDevice(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = unregisterUserAndDevice_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"unregisterUserAndDevice failed: unknown result\")\n\n  def updateApnsDeviceToken(self, apnsDeviceToken):\n    \"\"\"\n    Parameters:\n     - apnsDeviceToken\n    \"\"\"\n    self.send_updateApnsDeviceToken(apnsDeviceToken)\n    self.recv_updateApnsDeviceToken()\n\n  def send_updateApnsDeviceToken(self, apnsDeviceToken):\n    self._oprot.writeMessageBegin('updateApnsDeviceToken', TMessageType.CALL, self._seqid)\n    args = updateApnsDeviceToken_args()\n    args.apnsDeviceToken = apnsDeviceToken\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateApnsDeviceToken(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateApnsDeviceToken_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateBuddySetting(self, key, value):\n    \"\"\"\n    Parameters:\n     - key\n     - value\n    \"\"\"\n    self.send_updateBuddySetting(key, value)\n    self.recv_updateBuddySetting()\n\n  def send_updateBuddySetting(self, key, value):\n    self._oprot.writeMessageBegin('updateBuddySetting', TMessageType.CALL, self._seqid)\n    args = updateBuddySetting_args()\n    args.key = key\n    args.value = value\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateBuddySetting(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateBuddySetting_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateC2DMRegistrationId(self, registrationId):\n    \"\"\"\n    Parameters:\n     - registrationId\n    \"\"\"\n    self.send_updateC2DMRegistrationId(registrationId)\n    self.recv_updateC2DMRegistrationId()\n\n  def send_updateC2DMRegistrationId(self, registrationId):\n    self._oprot.writeMessageBegin('updateC2DMRegistrationId', TMessageType.CALL, self._seqid)\n    args = updateC2DMRegistrationId_args()\n    args.registrationId = registrationId\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateC2DMRegistrationId(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateC2DMRegistrationId_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateContactSetting(self, reqSeq, mid, flag, value):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - mid\n     - flag\n     - value\n    \"\"\"\n    self.send_updateContactSetting(reqSeq, mid, flag, value)\n    self.recv_updateContactSetting()\n\n  def send_updateContactSetting(self, reqSeq, mid, flag, value):\n    self._oprot.writeMessageBegin('updateContactSetting', TMessageType.CALL, self._seqid)\n    args = updateContactSetting_args()\n    args.reqSeq = reqSeq\n    args.mid = mid\n    args.flag = flag\n    args.value = value\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateContactSetting(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateContactSetting_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateCustomModeSettings(self, customMode, paramMap):\n    \"\"\"\n    Parameters:\n     - customMode\n     - paramMap\n    \"\"\"\n    self.send_updateCustomModeSettings(customMode, paramMap)\n    self.recv_updateCustomModeSettings()\n\n  def send_updateCustomModeSettings(self, customMode, paramMap):\n    self._oprot.writeMessageBegin('updateCustomModeSettings', TMessageType.CALL, self._seqid)\n    args = updateCustomModeSettings_args()\n    args.customMode = customMode\n    args.paramMap = paramMap\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateCustomModeSettings(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateCustomModeSettings_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateDeviceInfo(self, deviceUid, deviceInfo):\n    \"\"\"\n    Parameters:\n     - deviceUid\n     - deviceInfo\n    \"\"\"\n    self.send_updateDeviceInfo(deviceUid, deviceInfo)\n    self.recv_updateDeviceInfo()\n\n  def send_updateDeviceInfo(self, deviceUid, deviceInfo):\n    self._oprot.writeMessageBegin('updateDeviceInfo', TMessageType.CALL, self._seqid)\n    args = updateDeviceInfo_args()\n    args.deviceUid = deviceUid\n    args.deviceInfo = deviceInfo\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateDeviceInfo(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateDeviceInfo_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateGroup(self, reqSeq, group):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - group\n    \"\"\"\n    self.send_updateGroup(reqSeq, group)\n    self.recv_updateGroup()\n\n  def send_updateGroup(self, reqSeq, group):\n    self._oprot.writeMessageBegin('updateGroup', TMessageType.CALL, self._seqid)\n    args = updateGroup_args()\n    args.reqSeq = reqSeq\n    args.group = group\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateGroup(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateGroup_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateNotificationToken(self, type, token):\n    \"\"\"\n    Parameters:\n     - type\n     - token\n    \"\"\"\n    self.send_updateNotificationToken(type, token)\n    self.recv_updateNotificationToken()\n\n  def send_updateNotificationToken(self, type, token):\n    self._oprot.writeMessageBegin('updateNotificationToken', TMessageType.CALL, self._seqid)\n    args = updateNotificationToken_args()\n    args.type = type\n    args.token = token\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateNotificationToken(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateNotificationToken_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateNotificationTokenWithBytes(self, type, token):\n    \"\"\"\n    Parameters:\n     - type\n     - token\n    \"\"\"\n    self.send_updateNotificationTokenWithBytes(type, token)\n    self.recv_updateNotificationTokenWithBytes()\n\n  def send_updateNotificationTokenWithBytes(self, type, token):\n    self._oprot.writeMessageBegin('updateNotificationTokenWithBytes', TMessageType.CALL, self._seqid)\n    args = updateNotificationTokenWithBytes_args()\n    args.type = type\n    args.token = token\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateNotificationTokenWithBytes(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateNotificationTokenWithBytes_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateProfile(self, reqSeq, profile):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - profile\n    \"\"\"\n    self.send_updateProfile(reqSeq, profile)\n    self.recv_updateProfile()\n\n  def send_updateProfile(self, reqSeq, profile):\n    self._oprot.writeMessageBegin('updateProfile', TMessageType.CALL, self._seqid)\n    args = updateProfile_args()\n    args.reqSeq = reqSeq\n    args.profile = profile\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateProfile(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateProfile_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateProfileAttribute(self, reqSeq, attr, value):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - attr\n     - value\n    \"\"\"\n    self.send_updateProfileAttribute(reqSeq, attr, value)\n    self.recv_updateProfileAttribute()\n\n  def send_updateProfileAttribute(self, reqSeq, attr, value):\n    self._oprot.writeMessageBegin('updateProfileAttribute', TMessageType.CALL, self._seqid)\n    args = updateProfileAttribute_args()\n    args.reqSeq = reqSeq\n    args.attr = attr\n    args.value = value\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateProfileAttribute(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateProfileAttribute_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateRegion(self, region):\n    \"\"\"\n    Parameters:\n     - region\n    \"\"\"\n    self.send_updateRegion(region)\n    self.recv_updateRegion()\n\n  def send_updateRegion(self, region):\n    self._oprot.writeMessageBegin('updateRegion', TMessageType.CALL, self._seqid)\n    args = updateRegion_args()\n    args.region = region\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateRegion(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateRegion_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateSettings(self, reqSeq, settings):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - settings\n    \"\"\"\n    self.send_updateSettings(reqSeq, settings)\n    self.recv_updateSettings()\n\n  def send_updateSettings(self, reqSeq, settings):\n    self._oprot.writeMessageBegin('updateSettings', TMessageType.CALL, self._seqid)\n    args = updateSettings_args()\n    args.reqSeq = reqSeq\n    args.settings = settings\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateSettings(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateSettings_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateSettings2(self, reqSeq, settings):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - settings\n    \"\"\"\n    self.send_updateSettings2(reqSeq, settings)\n    return self.recv_updateSettings2()\n\n  def send_updateSettings2(self, reqSeq, settings):\n    self._oprot.writeMessageBegin('updateSettings2', TMessageType.CALL, self._seqid)\n    args = updateSettings2_args()\n    args.reqSeq = reqSeq\n    args.settings = settings\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateSettings2(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateSettings2_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"updateSettings2 failed: unknown result\")\n\n  def updateSettingsAttribute(self, reqSeq, attr, value):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - attr\n     - value\n    \"\"\"\n    self.send_updateSettingsAttribute(reqSeq, attr, value)\n    self.recv_updateSettingsAttribute()\n\n  def send_updateSettingsAttribute(self, reqSeq, attr, value):\n    self._oprot.writeMessageBegin('updateSettingsAttribute', TMessageType.CALL, self._seqid)\n    args = updateSettingsAttribute_args()\n    args.reqSeq = reqSeq\n    args.attr = attr\n    args.value = value\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateSettingsAttribute(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateSettingsAttribute_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def updateSettingsAttributes(self, reqSeq, attrBitset, settings):\n    \"\"\"\n    Parameters:\n     - reqSeq\n     - attrBitset\n     - settings\n    \"\"\"\n    self.send_updateSettingsAttributes(reqSeq, attrBitset, settings)\n    return self.recv_updateSettingsAttributes()\n\n  def send_updateSettingsAttributes(self, reqSeq, attrBitset, settings):\n    self._oprot.writeMessageBegin('updateSettingsAttributes', TMessageType.CALL, self._seqid)\n    args = updateSettingsAttributes_args()\n    args.reqSeq = reqSeq\n    args.attrBitset = attrBitset\n    args.settings = settings\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_updateSettingsAttributes(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = updateSettingsAttributes_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"updateSettingsAttributes failed: unknown result\")\n\n  def verifyIdentityCredential(self, identityProvider, identifier, password):\n    \"\"\"\n    Parameters:\n     - identityProvider\n     - identifier\n     - password\n    \"\"\"\n    self.send_verifyIdentityCredential(identityProvider, identifier, password)\n    self.recv_verifyIdentityCredential()\n\n  def send_verifyIdentityCredential(self, identityProvider, identifier, password):\n    self._oprot.writeMessageBegin('verifyIdentityCredential', TMessageType.CALL, self._seqid)\n    args = verifyIdentityCredential_args()\n    args.identityProvider = identityProvider\n    args.identifier = identifier\n    args.password = password\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_verifyIdentityCredential(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = verifyIdentityCredential_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n  def verifyIdentityCredentialWithResult(self, identityCredential):\n    \"\"\"\n    Parameters:\n     - identityCredential\n    \"\"\"\n    self.send_verifyIdentityCredentialWithResult(identityCredential)\n    return self.recv_verifyIdentityCredentialWithResult()\n\n  def send_verifyIdentityCredentialWithResult(self, identityCredential):\n    self._oprot.writeMessageBegin('verifyIdentityCredentialWithResult', TMessageType.CALL, self._seqid)\n    args = verifyIdentityCredentialWithResult_args()\n    args.identityCredential = identityCredential\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_verifyIdentityCredentialWithResult(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = verifyIdentityCredentialWithResult_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"verifyIdentityCredentialWithResult failed: unknown result\")\n\n  def verifyPhone(self, sessionId, pinCode, udidHash):\n    \"\"\"\n    Parameters:\n     - sessionId\n     - pinCode\n     - udidHash\n    \"\"\"\n    self.send_verifyPhone(sessionId, pinCode, udidHash)\n    return self.recv_verifyPhone()\n\n  def send_verifyPhone(self, sessionId, pinCode, udidHash):\n    self._oprot.writeMessageBegin('verifyPhone', TMessageType.CALL, self._seqid)\n    args = verifyPhone_args()\n    args.sessionId = sessionId\n    args.pinCode = pinCode\n    args.udidHash = udidHash\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_verifyPhone(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = verifyPhone_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"verifyPhone failed: unknown result\")\n\n  def verifyQrcode(self, verifier, pinCode):\n    \"\"\"\n    Parameters:\n     - verifier\n     - pinCode\n    \"\"\"\n    self.send_verifyQrcode(verifier, pinCode)\n    return self.recv_verifyQrcode()\n\n  def send_verifyQrcode(self, verifier, pinCode):\n    self._oprot.writeMessageBegin('verifyQrcode', TMessageType.CALL, self._seqid)\n    args = verifyQrcode_args()\n    args.verifier = verifier\n    args.pinCode = pinCode\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_verifyQrcode(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = verifyQrcode_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.success is not None:\n      return result.success\n    if result.e is not None:\n      raise result.e\n    raise TApplicationException(TApplicationException.MISSING_RESULT, \"verifyQrcode failed: unknown result\")\n\n  def notify(self, event):\n    \"\"\"\n    Parameters:\n     - event\n    \"\"\"\n    self.send_notify(event)\n    self.recv_notify()\n\n  def send_notify(self, event):\n    self._oprot.writeMessageBegin('notify', TMessageType.CALL, self._seqid)\n    args = notify_args()\n    args.event = event\n    args.write(self._oprot)\n    self._oprot.writeMessageEnd()\n    self._oprot.trans.flush()\n\n  def recv_notify(self):\n    iprot = self._iprot\n    (fname, mtype, rseqid) = iprot.readMessageBegin()\n    if mtype == TMessageType.EXCEPTION:\n      x = TApplicationException()\n      x.read(iprot)\n      iprot.readMessageEnd()\n      raise x\n    result = notify_result()\n    result.read(iprot)\n    iprot.readMessageEnd()\n    if result.e is not None:\n      raise result.e\n    return\n\n\nclass Processor(Iface, TProcessor):\n  def __init__(self, handler):\n    self._handler = handler\n    self._processMap = {}\n    self._processMap[\"getRSAKey\"] = Processor.process_getRSAKey\n    self._processMap[\"notifyEmailConfirmationResult\"] = Processor.process_notifyEmailConfirmationResult\n    self._processMap[\"registerVirtualAccount\"] = Processor.process_registerVirtualAccount\n    self._processMap[\"requestVirtualAccountPasswordChange\"] = Processor.process_requestVirtualAccountPasswordChange\n    self._processMap[\"requestVirtualAccountPasswordSet\"] = Processor.process_requestVirtualAccountPasswordSet\n    self._processMap[\"unregisterVirtualAccount\"] = Processor.process_unregisterVirtualAccount\n    self._processMap[\"checkUserAge\"] = Processor.process_checkUserAge\n    self._processMap[\"checkUserAgeWithDocomo\"] = Processor.process_checkUserAgeWithDocomo\n    self._processMap[\"retrieveOpenIdAuthUrlWithDocomo\"] = Processor.process_retrieveOpenIdAuthUrlWithDocomo\n    self._processMap[\"retrieveRequestToken\"] = Processor.process_retrieveRequestToken\n    self._processMap[\"addBuddyMember\"] = Processor.process_addBuddyMember\n    self._processMap[\"addBuddyMembers\"] = Processor.process_addBuddyMembers\n    self._processMap[\"blockBuddyMember\"] = Processor.process_blockBuddyMember\n    self._processMap[\"commitSendMessagesToAll\"] = Processor.process_commitSendMessagesToAll\n    self._processMap[\"commitSendMessagesTomids\"] = Processor.process_commitSendMessagesTomids\n    self._processMap[\"containsBuddyMember\"] = Processor.process_containsBuddyMember\n    self._processMap[\"downloadMessageContent\"] = Processor.process_downloadMessageContent\n    self._processMap[\"downloadMessageContentPreview\"] = Processor.process_downloadMessageContentPreview\n    self._processMap[\"downloadProfileImage\"] = Processor.process_downloadProfileImage\n    self._processMap[\"downloadProfileImagePreview\"] = Processor.process_downloadProfileImagePreview\n    self._processMap[\"getActiveMemberCountByBuddyMid\"] = Processor.process_getActiveMemberCountByBuddyMid\n    self._processMap[\"getActiveMemberMidsByBuddyMid\"] = Processor.process_getActiveMemberMidsByBuddyMid\n    self._processMap[\"getAllBuddyMembers\"] = Processor.process_getAllBuddyMembers\n    self._processMap[\"getBlockedBuddyMembers\"] = Processor.process_getBlockedBuddyMembers\n    self._processMap[\"getBlockerCountByBuddyMid\"] = Processor.process_getBlockerCountByBuddyMid\n    self._processMap[\"getBuddyDetailByMid\"] = Processor.process_getBuddyDetailByMid\n    self._processMap[\"getBuddyProfile\"] = Processor.process_getBuddyProfile\n    self._processMap[\"getContactTicket\"] = Processor.process_getContactTicket\n    self._processMap[\"getMemberCountByBuddyMid\"] = Processor.process_getMemberCountByBuddyMid\n    self._processMap[\"getSendBuddyMessageResult\"] = Processor.process_getSendBuddyMessageResult\n    self._processMap[\"getSetBuddyOnAirResult\"] = Processor.process_getSetBuddyOnAirResult\n    self._processMap[\"getUpdateBuddyProfileResult\"] = Processor.process_getUpdateBuddyProfileResult\n    self._processMap[\"isBuddyOnAirByMid\"] = Processor.process_isBuddyOnAirByMid\n    self._processMap[\"linkAndSendBuddyContentMessageToAllAsync\"] = Processor.process_linkAndSendBuddyContentMessageToAllAsync\n    self._processMap[\"linkAndSendBuddyContentMessageTomids\"] = Processor.process_linkAndSendBuddyContentMessageTomids\n    self._processMap[\"notifyBuddyBlocked\"] = Processor.process_notifyBuddyBlocked\n    self._processMap[\"notifyBuddyUnblocked\"] = Processor.process_notifyBuddyUnblocked\n    self._processMap[\"registerBuddy\"] = Processor.process_registerBuddy\n    self._processMap[\"registerBuddyAdmin\"] = Processor.process_registerBuddyAdmin\n    self._processMap[\"reissueContactTicket\"] = Processor.process_reissueContactTicket\n    self._processMap[\"removeBuddyMember\"] = Processor.process_removeBuddyMember\n    self._processMap[\"removeBuddyMembers\"] = Processor.process_removeBuddyMembers\n    self._processMap[\"sendBuddyContentMessageToAll\"] = Processor.process_sendBuddyContentMessageToAll\n    self._processMap[\"sendBuddyContentMessageToAllAsync\"] = Processor.process_sendBuddyContentMessageToAllAsync\n    self._processMap[\"sendBuddyContentMessageTomids\"] = Processor.process_sendBuddyContentMessageTomids\n    self._processMap[\"sendBuddyContentMessageTomidsAsync\"] = Processor.process_sendBuddyContentMessageTomidsAsync\n    self._processMap[\"sendBuddyMessageToAll\"] = Processor.process_sendBuddyMessageToAll\n    self._processMap[\"sendBuddyMessageToAllAsync\"] = Processor.process_sendBuddyMessageToAllAsync\n    self._processMap[\"sendBuddyMessageTomids\"] = Processor.process_sendBuddyMessageTomids\n    self._processMap[\"sendBuddyMessageTomidsAsync\"] = Processor.process_sendBuddyMessageTomidsAsync\n    self._processMap[\"sendIndividualEventToAllAsync\"] = Processor.process_sendIndividualEventToAllAsync\n    self._processMap[\"setBuddyOnAir\"] = Processor.process_setBuddyOnAir\n    self._processMap[\"setBuddyOnAirAsync\"] = Processor.process_setBuddyOnAirAsync\n    self._processMap[\"storeMessage\"] = Processor.process_storeMessage\n    self._processMap[\"unblockBuddyMember\"] = Processor.process_unblockBuddyMember\n    self._processMap[\"unregisterBuddy\"] = Processor.process_unregisterBuddy\n    self._processMap[\"unregisterBuddyAdmin\"] = Processor.process_unregisterBuddyAdmin\n    self._processMap[\"updateBuddyAdminProfileAttribute\"] = Processor.process_updateBuddyAdminProfileAttribute\n    self._processMap[\"updateBuddyAdminProfileImage\"] = Processor.process_updateBuddyAdminProfileImage\n    self._processMap[\"updateBuddyProfileAttributes\"] = Processor.process_updateBuddyProfileAttributes\n    self._processMap[\"updateBuddyProfileAttributesAsync\"] = Processor.process_updateBuddyProfileAttributesAsync\n    self._processMap[\"updateBuddyProfileImage\"] = Processor.process_updateBuddyProfileImage\n    self._processMap[\"updateBuddyProfileImageAsync\"] = Processor.process_updateBuddyProfileImageAsync\n    self._processMap[\"updateBuddySearchId\"] = Processor.process_updateBuddySearchId\n    self._processMap[\"updateBuddySettings\"] = Processor.process_updateBuddySettings\n    self._processMap[\"uploadBuddyContent\"] = Processor.process_uploadBuddyContent\n    self._processMap[\"findBuddyContactsByQuery\"] = Processor.process_findBuddyContactsByQuery\n    self._processMap[\"getBuddyContacts\"] = Processor.process_getBuddyContacts\n    self._processMap[\"getBuddyDetail\"] = Processor.process_getBuddyDetail\n    self._processMap[\"getBuddyOnAir\"] = Processor.process_getBuddyOnAir\n    self._processMap[\"getCountriesHavingBuddy\"] = Processor.process_getCountriesHavingBuddy\n    self._processMap[\"getNewlyReleasedBuddyIds\"] = Processor.process_getNewlyReleasedBuddyIds\n    self._processMap[\"getPopularBuddyBanner\"] = Processor.process_getPopularBuddyBanner\n    self._processMap[\"getPopularBuddyLists\"] = Processor.process_getPopularBuddyLists\n    self._processMap[\"getPromotedBuddyContacts\"] = Processor.process_getPromotedBuddyContacts\n    self._processMap[\"activeBuddySubscriberCount\"] = Processor.process_activeBuddySubscriberCount\n    self._processMap[\"addOperationForChannel\"] = Processor.process_addOperationForChannel\n    self._processMap[\"displayBuddySubscriberCount\"] = Processor.process_displayBuddySubscriberCount\n    self._processMap[\"findContactByUseridWithoutAbuseBlockForChannel\"] = Processor.process_findContactByUseridWithoutAbuseBlockForChannel\n    self._processMap[\"getAllContactIdsForChannel\"] = Processor.process_getAllContactIdsForChannel\n    self._processMap[\"getCompactContacts\"] = Processor.process_getCompactContacts\n    self._processMap[\"getContactsForChannel\"] = Processor.process_getContactsForChannel\n    self._processMap[\"getDisplayName\"] = Processor.process_getDisplayName\n    self._processMap[\"getFavoriteMidsForChannel\"] = Processor.process_getFavoriteMidsForChannel\n    self._processMap[\"getFriendMids\"] = Processor.process_getFriendMids\n    self._processMap[\"getGroupMemberMids\"] = Processor.process_getGroupMemberMids\n    self._processMap[\"getGroupsForChannel\"] = Processor.process_getGroupsForChannel\n    self._processMap[\"getIdentityCredential\"] = Processor.process_getIdentityCredential\n    self._processMap[\"getJoinedGroupIdsForChannel\"] = Processor.process_getJoinedGroupIdsForChannel\n    self._processMap[\"getMetaProfile\"] = Processor.process_getMetaProfile\n    self._processMap[\"getMid\"] = Processor.process_getMid\n    self._processMap[\"getPrimaryClientForChannel\"] = Processor.process_getPrimaryClientForChannel\n    self._processMap[\"getProfileForChannel\"] = Processor.process_getProfileForChannel\n    self._processMap[\"getSimpleChannelContacts\"] = Processor.process_getSimpleChannelContacts\n    self._processMap[\"getUserCountryForBilling\"] = Processor.process_getUserCountryForBilling\n    self._processMap[\"getUserCreateTime\"] = Processor.process_getUserCreateTime\n    self._processMap[\"getUserIdentities\"] = Processor.process_getUserIdentities\n    self._processMap[\"getUserLanguage\"] = Processor.process_getUserLanguage\n    self._processMap[\"getUserMidsWhoAddedMe\"] = Processor.process_getUserMidsWhoAddedMe\n    self._processMap[\"isGroupMember\"] = Processor.process_isGroupMember\n    self._processMap[\"isInContact\"] = Processor.process_isInContact\n    self._processMap[\"registerChannelCP\"] = Processor.process_registerChannelCP\n    self._processMap[\"removeNotificationStatus\"] = Processor.process_removeNotificationStatus\n    self._processMap[\"sendMessageForChannel\"] = Processor.process_sendMessageForChannel\n    self._processMap[\"sendPinCodeOperation\"] = Processor.process_sendPinCodeOperation\n    self._processMap[\"updateProfileAttributeForChannel\"] = Processor.process_updateProfileAttributeForChannel\n    self._processMap[\"approveChannelAndIssueChannelToken\"] = Processor.process_approveChannelAndIssueChannelToken\n    self._processMap[\"approveChannelAndIssueRequestToken\"] = Processor.process_approveChannelAndIssueRequestToken\n    self._processMap[\"fetchNotificationItems\"] = Processor.process_fetchNotificationItems\n    self._processMap[\"getApprovedChannels\"] = Processor.process_getApprovedChannels\n    self._processMap[\"getChannelInfo\"] = Processor.process_getChannelInfo\n    self._processMap[\"getChannelNotificationSetting\"] = Processor.process_getChannelNotificationSetting\n    self._processMap[\"getChannelNotificationSettings\"] = Processor.process_getChannelNotificationSettings\n    self._processMap[\"getChannels\"] = Processor.process_getChannels\n    self._processMap[\"getDomains\"] = Processor.process_getDomains\n    self._processMap[\"getFriendChannelMatrices\"] = Processor.process_getFriendChannelMatrices\n    self._processMap[\"getNotificationBadgeCount\"] = Processor.process_getNotificationBadgeCount\n    self._processMap[\"issueChannelToken\"] = Processor.process_issueChannelToken\n    self._processMap[\"issueRequestToken\"] = Processor.process_issueRequestToken\n    self._processMap[\"issueRequestTokenWithAuthScheme\"] = Processor.process_issueRequestTokenWithAuthScheme\n    self._processMap[\"reserveCoinUse\"] = Processor.process_reserveCoinUse\n    self._processMap[\"revokeChannel\"] = Processor.process_revokeChannel\n    self._processMap[\"syncChannelData\"] = Processor.process_syncChannelData\n    self._processMap[\"updateChannelNotificationSetting\"] = Processor.process_updateChannelNotificationSetting\n    self._processMap[\"fetchMessageOperations\"] = Processor.process_fetchMessageOperations\n    self._processMap[\"getLastReadMessageIds\"] = Processor.process_getLastReadMessageIds\n    self._processMap[\"multiGetLastReadMessageIds\"] = Processor.process_multiGetLastReadMessageIds\n    self._processMap[\"buyCoinProduct\"] = Processor.process_buyCoinProduct\n    self._processMap[\"buyFreeProduct\"] = Processor.process_buyFreeProduct\n    self._processMap[\"buyMustbuyProduct\"] = Processor.process_buyMustbuyProduct\n    self._processMap[\"checkCanReceivePresent\"] = Processor.process_checkCanReceivePresent\n    self._processMap[\"getActivePurchases\"] = Processor.process_getActivePurchases\n    self._processMap[\"getActivePurchaseVersions\"] = Processor.process_getActivePurchaseVersions\n    self._processMap[\"getCoinProducts\"] = Processor.process_getCoinProducts\n    self._processMap[\"getCoinProductsByPgCode\"] = Processor.process_getCoinProductsByPgCode\n    self._processMap[\"getCoinPurchaseHistory\"] = Processor.process_getCoinPurchaseHistory\n    self._processMap[\"getCoinUseAndRefundHistory\"] = Processor.process_getCoinUseAndRefundHistory\n    self._processMap[\"getDownloads\"] = Processor.process_getDownloads\n    self._processMap[\"getEventPackages\"] = Processor.process_getEventPackages\n    self._processMap[\"getNewlyReleasedPackages\"] = Processor.process_getNewlyReleasedPackages\n    self._processMap[\"getPopularPackages\"] = Processor.process_getPopularPackages\n    self._processMap[\"getPresentsReceived\"] = Processor.process_getPresentsReceived\n    self._processMap[\"getPresentsSent\"] = Processor.process_getPresentsSent\n    self._processMap[\"getProduct\"] = Processor.process_getProduct\n    self._processMap[\"getProductList\"] = Processor.process_getProductList\n    self._processMap[\"getProductListWithCarrier\"] = Processor.process_getProductListWithCarrier\n    self._processMap[\"getProductWithCarrier\"] = Processor.process_getProductWithCarrier\n    self._processMap[\"getPurchaseHistory\"] = Processor.process_getPurchaseHistory\n    self._processMap[\"getTotalBalance\"] = Processor.process_getTotalBalance\n    self._processMap[\"notifyDownloaded\"] = Processor.process_notifyDownloaded\n    self._processMap[\"reserveCoinPurchase\"] = Processor.process_reserveCoinPurchase\n    self._processMap[\"reservePayment\"] = Processor.process_reservePayment\n    self._processMap[\"getSnsFriends\"] = Processor.process_getSnsFriends\n    self._processMap[\"getSnsMyProfile\"] = Processor.process_getSnsMyProfile\n    self._processMap[\"postSnsInvitationMessage\"] = Processor.process_postSnsInvitationMessage\n    self._processMap[\"acceptGroupInvitation\"] = Processor.process_acceptGroupInvitation\n    self._processMap[\"acceptGroupInvitationByTicket\"] = Processor.process_acceptGroupInvitationByTicket\n    self._processMap[\"acceptProximityMatches\"] = Processor.process_acceptProximityMatches\n    self._processMap[\"acquireCallRoute\"] = Processor.process_acquireCallRoute\n    self._processMap[\"acquireCallTicket\"] = Processor.process_acquireCallTicket\n    self._processMap[\"acquireEncryptedAccessToken\"] = Processor.process_acquireEncryptedAccessToken\n    self._processMap[\"addSnsId\"] = Processor.process_addSnsId\n    self._processMap[\"blockContact\"] = Processor.process_blockContact\n    self._processMap[\"blockRecommendation\"] = Processor.process_blockRecommendation\n    self._processMap[\"cancelGroupInvitation\"] = Processor.process_cancelGroupInvitation\n    self._processMap[\"changeVerificationMethod\"] = Processor.process_changeVerificationMethod\n    self._processMap[\"clearIdentityCredential\"] = Processor.process_clearIdentityCredential\n    self._processMap[\"clearMessageBox\"] = Processor.process_clearMessageBox\n    self._processMap[\"closeProximityMatch\"] = Processor.process_closeProximityMatch\n    self._processMap[\"commitSendMessage\"] = Processor.process_commitSendMessage\n    self._processMap[\"commitSendMessages\"] = Processor.process_commitSendMessages\n    self._processMap[\"commitUpdateProfile\"] = Processor.process_commitUpdateProfile\n    self._processMap[\"confirmEmail\"] = Processor.process_confirmEmail\n    self._processMap[\"createGroup\"] = Processor.process_createGroup\n    self._processMap[\"createQrcodeBase64Image\"] = Processor.process_createQrcodeBase64Image\n    self._processMap[\"createRoom\"] = Processor.process_createRoom\n    self._processMap[\"createSession\"] = Processor.process_createSession\n    self._processMap[\"fetchAnnouncements\"] = Processor.process_fetchAnnouncements\n    self._processMap[\"fetchMessages\"] = Processor.process_fetchMessages\n    self._processMap[\"fetchOperations\"] = Processor.process_fetchOperations\n    self._processMap[\"fetchOps\"] = Processor.process_fetchOps\n    self._processMap[\"findAndAddContactsByEmail\"] = Processor.process_findAndAddContactsByEmail\n    self._processMap[\"findAndAddContactsByMid\"] = Processor.process_findAndAddContactsByMid\n    self._processMap[\"findAndAddContactsByPhone\"] = Processor.process_findAndAddContactsByPhone\n    self._processMap[\"findAndAddContactsByUserid\"] = Processor.process_findAndAddContactsByUserid\n    self._processMap[\"findContactByUserid\"] = Processor.process_findContactByUserid\n    self._processMap[\"findContactByUserTicket\"] = Processor.process_findContactByUserTicket\n    self._processMap[\"findGroupByTicket\"] = Processor.process_findGroupByTicket\n    self._processMap[\"findContactsByEmail\"] = Processor.process_findContactsByEmail\n    self._processMap[\"findContactsByPhone\"] = Processor.process_findContactsByPhone\n    self._processMap[\"findSnsIdUserStatus\"] = Processor.process_findSnsIdUserStatus\n    self._processMap[\"finishUpdateVerification\"] = Processor.process_finishUpdateVerification\n    self._processMap[\"generateUserTicket\"] = Processor.process_generateUserTicket\n    self._processMap[\"getAcceptedProximityMatches\"] = Processor.process_getAcceptedProximityMatches\n    self._processMap[\"getActiveBuddySubscriberIds\"] = Processor.process_getActiveBuddySubscriberIds\n    self._processMap[\"getAllContactIds\"] = Processor.process_getAllContactIds\n    self._processMap[\"getAuthQrcode\"] = Processor.process_getAuthQrcode\n    self._processMap[\"getBlockedContactIds\"] = Processor.process_getBlockedContactIds\n    self._processMap[\"getBlockedContactIdsByRange\"] = Processor.process_getBlockedContactIdsByRange\n    self._processMap[\"getBlockedRecommendationIds\"] = Processor.process_getBlockedRecommendationIds\n    self._processMap[\"getBuddyBlockerIds\"] = Processor.process_getBuddyBlockerIds\n    self._processMap[\"getBuddyLocation\"] = Processor.process_getBuddyLocation\n    self._processMap[\"getCompactContactsModifiedSince\"] = Processor.process_getCompactContactsModifiedSince\n    self._processMap[\"getCompactGroup\"] = Processor.process_getCompactGroup\n    self._processMap[\"getCompactRoom\"] = Processor.process_getCompactRoom\n    self._processMap[\"getContact\"] = Processor.process_getContact\n    self._processMap[\"getContacts\"] = Processor.process_getContacts\n    self._processMap[\"getCountryWithRequestIp\"] = Processor.process_getCountryWithRequestIp\n    self._processMap[\"getFavoriteMids\"] = Processor.process_getFavoriteMids\n    self._processMap[\"getGroup\"] = Processor.process_getGroup\n    self._processMap[\"getGroupIdsInvited\"] = Processor.process_getGroupIdsInvited\n    self._processMap[\"getGroupIdsJoined\"] = Processor.process_getGroupIdsJoined\n    self._processMap[\"getGroups\"] = Processor.process_getGroups\n    self._processMap[\"getHiddenContactMids\"] = Processor.process_getHiddenContactMids\n    self._processMap[\"getIdentityIdentifier\"] = Processor.process_getIdentityIdentifier\n    self._processMap[\"getLastAnnouncementIndex\"] = Processor.process_getLastAnnouncementIndex\n    self._processMap[\"getLastOpRevision\"] = Processor.process_getLastOpRevision\n    self._processMap[\"getMessageBox\"] = Processor.process_getMessageBox\n    self._processMap[\"getMessageBoxCompactWrapUp\"] = Processor.process_getMessageBoxCompactWrapUp\n    self._processMap[\"getMessageBoxCompactWrapUpList\"] = Processor.process_getMessageBoxCompactWrapUpList\n    self._processMap[\"getMessageBoxList\"] = Processor.process_getMessageBoxList\n    self._processMap[\"getMessageBoxListByStatus\"] = Processor.process_getMessageBoxListByStatus\n    self._processMap[\"getMessageBoxWrapUp\"] = Processor.process_getMessageBoxWrapUp\n    self._processMap[\"getMessageBoxWrapUpList\"] = Processor.process_getMessageBoxWrapUpList\n    self._processMap[\"getMessagesBySequenceNumber\"] = Processor.process_getMessagesBySequenceNumber\n    self._processMap[\"getNextMessages\"] = Processor.process_getNextMessages\n    self._processMap[\"getNotificationPolicy\"] = Processor.process_getNotificationPolicy\n    self._processMap[\"getPreviousMessages\"] = Processor.process_getPreviousMessages\n    self._processMap[\"getProfile\"] = Processor.process_getProfile\n    self._processMap[\"getProximityMatchCandidateList\"] = Processor.process_getProximityMatchCandidateList\n    self._processMap[\"getProximityMatchCandidates\"] = Processor.process_getProximityMatchCandidates\n    self._processMap[\"getRecentMessages\"] = Processor.process_getRecentMessages\n    self._processMap[\"getRecommendationIds\"] = Processor.process_getRecommendationIds\n    self._processMap[\"getRoom\"] = Processor.process_getRoom\n    self._processMap[\"getRSAKeyInfo\"] = Processor.process_getRSAKeyInfo\n    self._processMap[\"getServerTime\"] = Processor.process_getServerTime\n    self._processMap[\"getSessions\"] = Processor.process_getSessions\n    self._processMap[\"getSettings\"] = Processor.process_getSettings\n    self._processMap[\"getSettingsAttributes\"] = Processor.process_getSettingsAttributes\n    self._processMap[\"getSystemConfiguration\"] = Processor.process_getSystemConfiguration\n    self._processMap[\"getUserTicket\"] = Processor.process_getUserTicket\n    self._processMap[\"getWapInvitation\"] = Processor.process_getWapInvitation\n    self._processMap[\"invalidateUserTicket\"] = Processor.process_invalidateUserTicket\n    self._processMap[\"inviteFriendsBySms\"] = Processor.process_inviteFriendsBySms\n    self._processMap[\"inviteIntoGroup\"] = Processor.process_inviteIntoGroup\n    self._processMap[\"inviteIntoRoom\"] = Processor.process_inviteIntoRoom\n    self._processMap[\"inviteViaEmail\"] = Processor.process_inviteViaEmail\n    self._processMap[\"isIdentityIdentifierAvailable\"] = Processor.process_isIdentityIdentifierAvailable\n    self._processMap[\"isUseridAvailable\"] = Processor.process_isUseridAvailable\n    self._processMap[\"kickoutFromGroup\"] = Processor.process_kickoutFromGroup\n    self._processMap[\"leaveGroup\"] = Processor.process_leaveGroup\n    self._processMap[\"leaveRoom\"] = Processor.process_leaveRoom\n    self._processMap[\"loginWithIdentityCredential\"] = Processor.process_loginWithIdentityCredential\n    self._processMap[\"loginWithIdentityCredentialForCertificate\"] = Processor.process_loginWithIdentityCredentialForCertificate\n    self._processMap[\"loginWithVerifier\"] = Processor.process_loginWithVerifier\n    self._processMap[\"loginWithVerifierForCerificate\"] = Processor.process_loginWithVerifierForCerificate\n    self._processMap[\"loginWithVerifierForCertificate\"] = Processor.process_loginWithVerifierForCertificate\n    self._processMap[\"logout\"] = Processor.process_logout\n    self._processMap[\"logoutSession\"] = Processor.process_logoutSession\n    self._processMap[\"noop\"] = Processor.process_noop\n    self._processMap[\"notifiedRedirect\"] = Processor.process_notifiedRedirect\n    self._processMap[\"notifyBuddyOnAir\"] = Processor.process_notifyBuddyOnAir\n    self._processMap[\"notifyIndividualEvent\"] = Processor.process_notifyIndividualEvent\n    self._processMap[\"notifyInstalled\"] = Processor.process_notifyInstalled\n    self._processMap[\"notifyRegistrationComplete\"] = Processor.process_notifyRegistrationComplete\n    self._processMap[\"notifySleep\"] = Processor.process_notifySleep\n    self._processMap[\"notifyUpdated\"] = Processor.process_notifyUpdated\n    self._processMap[\"openProximityMatch\"] = Processor.process_openProximityMatch\n    self._processMap[\"registerBuddyUser\"] = Processor.process_registerBuddyUser\n    self._processMap[\"registerBuddyUserid\"] = Processor.process_registerBuddyUserid\n    self._processMap[\"registerDevice\"] = Processor.process_registerDevice\n    self._processMap[\"registerDeviceWithIdentityCredential\"] = Processor.process_registerDeviceWithIdentityCredential\n    self._processMap[\"registerDeviceWithoutPhoneNumber\"] = Processor.process_registerDeviceWithoutPhoneNumber\n    self._processMap[\"registerDeviceWithoutPhoneNumberWithIdentityCredential\"] = Processor.process_registerDeviceWithoutPhoneNumberWithIdentityCredential\n    self._processMap[\"registerUserid\"] = Processor.process_registerUserid\n    self._processMap[\"registerWapDevice\"] = Processor.process_registerWapDevice\n    self._processMap[\"registerWithExistingSnsIdAndIdentityCredential\"] = Processor.process_registerWithExistingSnsIdAndIdentityCredential\n    self._processMap[\"registerWithSnsId\"] = Processor.process_registerWithSnsId\n    self._processMap[\"registerWithSnsIdAndIdentityCredential\"] = Processor.process_registerWithSnsIdAndIdentityCredential\n    self._processMap[\"reissueDeviceCredential\"] = Processor.process_reissueDeviceCredential\n    self._processMap[\"reissueUserTicket\"] = Processor.process_reissueUserTicket\n    self._processMap[\"reissueGroupTicket\"] = Processor.process_reissueGroupTicket\n    self._processMap[\"rejectGroupInvitation\"] = Processor.process_rejectGroupInvitation\n    self._processMap[\"releaseSession\"] = Processor.process_releaseSession\n    self._processMap[\"removeAllMessages\"] = Processor.process_removeAllMessages\n    self._processMap[\"removeBuddyLocation\"] = Processor.process_removeBuddyLocation\n    self._processMap[\"removeMessage\"] = Processor.process_removeMessage\n    self._processMap[\"removeMessageFromMyHome\"] = Processor.process_removeMessageFromMyHome\n    self._processMap[\"removeSnsId\"] = Processor.process_removeSnsId\n    self._processMap[\"report\"] = Processor.process_report\n    self._processMap[\"reportContacts\"] = Processor.process_reportContacts\n    self._processMap[\"reportGroups\"] = Processor.process_reportGroups\n    self._processMap[\"reportProfile\"] = Processor.process_reportProfile\n    self._processMap[\"reportRooms\"] = Processor.process_reportRooms\n    self._processMap[\"reportSettings\"] = Processor.process_reportSettings\n    self._processMap[\"reportSpammer\"] = Processor.process_reportSpammer\n    self._processMap[\"requestAccountPasswordReset\"] = Processor.process_requestAccountPasswordReset\n    self._processMap[\"requestEmailConfirmation\"] = Processor.process_requestEmailConfirmation\n    self._processMap[\"requestIdentityUnbind\"] = Processor.process_requestIdentityUnbind\n    self._processMap[\"resendEmailConfirmation\"] = Processor.process_resendEmailConfirmation\n    self._processMap[\"resendPinCode\"] = Processor.process_resendPinCode\n    self._processMap[\"resendPinCodeBySMS\"] = Processor.process_resendPinCodeBySMS\n    self._processMap[\"sendChatChecked\"] = Processor.process_sendChatChecked\n    self._processMap[\"sendChatRemoved\"] = Processor.process_sendChatRemoved\n    self._processMap[\"sendContentPreviewUpdated\"] = Processor.process_sendContentPreviewUpdated\n    self._processMap[\"sendContentReceipt\"] = Processor.process_sendContentReceipt\n    self._processMap[\"sendDummyPush\"] = Processor.process_sendDummyPush\n    self._processMap[\"sendEvent\"] = Processor.process_sendEvent\n    self._processMap[\"sendMessage\"] = Processor.process_sendMessage\n    self._processMap[\"sendMessageIgnored\"] = Processor.process_sendMessageIgnored\n    self._processMap[\"sendMessageReceipt\"] = Processor.process_sendMessageReceipt\n    self._processMap[\"sendMessageToMyHome\"] = Processor.process_sendMessageToMyHome\n    self._processMap[\"setBuddyLocation\"] = Processor.process_setBuddyLocation\n    self._processMap[\"setIdentityCredential\"] = Processor.process_setIdentityCredential\n    self._processMap[\"setNotificationsEnabled\"] = Processor.process_setNotificationsEnabled\n    self._processMap[\"startUpdateVerification\"] = Processor.process_startUpdateVerification\n    self._processMap[\"startVerification\"] = Processor.process_startVerification\n    self._processMap[\"storeUpdateProfileAttribute\"] = Processor.process_storeUpdateProfileAttribute\n    self._processMap[\"syncContactBySnsIds\"] = Processor.process_syncContactBySnsIds\n    self._processMap[\"syncContacts\"] = Processor.process_syncContacts\n    self._processMap[\"trySendMessage\"] = Processor.process_trySendMessage\n    self._processMap[\"unblockContact\"] = Processor.process_unblockContact\n    self._processMap[\"unblockRecommendation\"] = Processor.process_unblockRecommendation\n    self._processMap[\"unregisterUserAndDevice\"] = Processor.process_unregisterUserAndDevice\n    self._processMap[\"updateApnsDeviceToken\"] = Processor.process_updateApnsDeviceToken\n    self._processMap[\"updateBuddySetting\"] = Processor.process_updateBuddySetting\n    self._processMap[\"updateC2DMRegistrationId\"] = Processor.process_updateC2DMRegistrationId\n    self._processMap[\"updateContactSetting\"] = Processor.process_updateContactSetting\n    self._processMap[\"updateCustomModeSettings\"] = Processor.process_updateCustomModeSettings\n    self._processMap[\"updateDeviceInfo\"] = Processor.process_updateDeviceInfo\n    self._processMap[\"updateGroup\"] = Processor.process_updateGroup\n    self._processMap[\"updateNotificationToken\"] = Processor.process_updateNotificationToken\n    self._processMap[\"updateNotificationTokenWithBytes\"] = Processor.process_updateNotificationTokenWithBytes\n    self._processMap[\"updateProfile\"] = Processor.process_updateProfile\n    self._processMap[\"updateProfileAttribute\"] = Processor.process_updateProfileAttribute\n    self._processMap[\"updateRegion\"] = Processor.process_updateRegion\n    self._processMap[\"updateSettings\"] = Processor.process_updateSettings\n    self._processMap[\"updateSettings2\"] = Processor.process_updateSettings2\n    self._processMap[\"updateSettingsAttribute\"] = Processor.process_updateSettingsAttribute\n    self._processMap[\"updateSettingsAttributes\"] = Processor.process_updateSettingsAttributes\n    self._processMap[\"verifyIdentityCredential\"] = Processor.process_verifyIdentityCredential\n    self._processMap[\"verifyIdentityCredentialWithResult\"] = Processor.process_verifyIdentityCredentialWithResult\n    self._processMap[\"verifyPhone\"] = Processor.process_verifyPhone\n    self._processMap[\"verifyQrcode\"] = Processor.process_verifyQrcode\n    self._processMap[\"notify\"] = Processor.process_notify\n\n  def process(self, iprot, oprot):\n    (name, type, seqid) = iprot.readMessageBegin()\n    if name not in self._processMap:\n      iprot.skip(TType.STRUCT)\n      iprot.readMessageEnd()\n      x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name))\n      oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid)\n      x.write(oprot)\n      oprot.writeMessageEnd()\n      oprot.trans.flush()\n      return\n    else:\n      self._processMap[name](self, seqid, iprot, oprot)\n    return True\n\n  def process_getRSAKey(self, seqid, iprot, oprot):\n    args = getRSAKey_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getRSAKey_result()\n    try:\n      result.success = self._handler.getRSAKey()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getRSAKey\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifyEmailConfirmationResult(self, seqid, iprot, oprot):\n    args = notifyEmailConfirmationResult_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifyEmailConfirmationResult_result()\n    try:\n      self._handler.notifyEmailConfirmationResult(args.parameterMap)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifyEmailConfirmationResult\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerVirtualAccount(self, seqid, iprot, oprot):\n    args = registerVirtualAccount_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerVirtualAccount_result()\n    try:\n      result.success = self._handler.registerVirtualAccount(args.locale, args.encryptedVirtualUserId, args.encryptedPassword)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerVirtualAccount\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_requestVirtualAccountPasswordChange(self, seqid, iprot, oprot):\n    args = requestVirtualAccountPasswordChange_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = requestVirtualAccountPasswordChange_result()\n    try:\n      self._handler.requestVirtualAccountPasswordChange(args.virtualMid, args.encryptedVirtualUserId, args.encryptedOldPassword, args.encryptedNewPassword)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"requestVirtualAccountPasswordChange\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_requestVirtualAccountPasswordSet(self, seqid, iprot, oprot):\n    args = requestVirtualAccountPasswordSet_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = requestVirtualAccountPasswordSet_result()\n    try:\n      self._handler.requestVirtualAccountPasswordSet(args.virtualMid, args.encryptedVirtualUserId, args.encryptedNewPassword)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"requestVirtualAccountPasswordSet\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_unregisterVirtualAccount(self, seqid, iprot, oprot):\n    args = unregisterVirtualAccount_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = unregisterVirtualAccount_result()\n    try:\n      self._handler.unregisterVirtualAccount(args.virtualMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"unregisterVirtualAccount\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_checkUserAge(self, seqid, iprot, oprot):\n    args = checkUserAge_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = checkUserAge_result()\n    try:\n      result.success = self._handler.checkUserAge(args.carrier, args.sessionId, args.verifier, args.standardAge)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"checkUserAge\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_checkUserAgeWithDocomo(self, seqid, iprot, oprot):\n    args = checkUserAgeWithDocomo_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = checkUserAgeWithDocomo_result()\n    try:\n      result.success = self._handler.checkUserAgeWithDocomo(args.openIdRedirectUrl, args.standardAge, args.verifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"checkUserAgeWithDocomo\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_retrieveOpenIdAuthUrlWithDocomo(self, seqid, iprot, oprot):\n    args = retrieveOpenIdAuthUrlWithDocomo_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = retrieveOpenIdAuthUrlWithDocomo_result()\n    try:\n      result.success = self._handler.retrieveOpenIdAuthUrlWithDocomo()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"retrieveOpenIdAuthUrlWithDocomo\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_retrieveRequestToken(self, seqid, iprot, oprot):\n    args = retrieveRequestToken_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = retrieveRequestToken_result()\n    try:\n      result.success = self._handler.retrieveRequestToken(args.carrier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"retrieveRequestToken\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_addBuddyMember(self, seqid, iprot, oprot):\n    args = addBuddyMember_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = addBuddyMember_result()\n    try:\n      self._handler.addBuddyMember(args.requestId, args.userMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"addBuddyMember\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_addBuddyMembers(self, seqid, iprot, oprot):\n    args = addBuddyMembers_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = addBuddyMembers_result()\n    try:\n      self._handler.addBuddyMembers(args.requestId, args.userMids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"addBuddyMembers\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_blockBuddyMember(self, seqid, iprot, oprot):\n    args = blockBuddyMember_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = blockBuddyMember_result()\n    try:\n      self._handler.blockBuddyMember(args.requestId, args.mid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"blockBuddyMember\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_commitSendMessagesToAll(self, seqid, iprot, oprot):\n    args = commitSendMessagesToAll_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = commitSendMessagesToAll_result()\n    try:\n      result.success = self._handler.commitSendMessagesToAll(args.requestIdList)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"commitSendMessagesToAll\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_commitSendMessagesTomids(self, seqid, iprot, oprot):\n    args = commitSendMessagesTomids_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = commitSendMessagesTomids_result()\n    try:\n      result.success = self._handler.commitSendMessagesTomids(args.requestIdList, args.mids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"commitSendMessagesTomids\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_containsBuddyMember(self, seqid, iprot, oprot):\n    args = containsBuddyMember_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = containsBuddyMember_result()\n    try:\n      result.success = self._handler.containsBuddyMember(args.requestId, args.userMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"containsBuddyMember\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_downloadMessageContent(self, seqid, iprot, oprot):\n    args = downloadMessageContent_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = downloadMessageContent_result()\n    try:\n      result.success = self._handler.downloadMessageContent(args.requestId, args.messageId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"downloadMessageContent\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_downloadMessageContentPreview(self, seqid, iprot, oprot):\n    args = downloadMessageContentPreview_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = downloadMessageContentPreview_result()\n    try:\n      result.success = self._handler.downloadMessageContentPreview(args.requestId, args.messageId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"downloadMessageContentPreview\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_downloadProfileImage(self, seqid, iprot, oprot):\n    args = downloadProfileImage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = downloadProfileImage_result()\n    try:\n      result.success = self._handler.downloadProfileImage(args.requestId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"downloadProfileImage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_downloadProfileImagePreview(self, seqid, iprot, oprot):\n    args = downloadProfileImagePreview_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = downloadProfileImagePreview_result()\n    try:\n      result.success = self._handler.downloadProfileImagePreview(args.requestId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"downloadProfileImagePreview\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getActiveMemberCountByBuddyMid(self, seqid, iprot, oprot):\n    args = getActiveMemberCountByBuddyMid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getActiveMemberCountByBuddyMid_result()\n    try:\n      result.success = self._handler.getActiveMemberCountByBuddyMid(args.buddyMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getActiveMemberCountByBuddyMid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getActiveMemberMidsByBuddyMid(self, seqid, iprot, oprot):\n    args = getActiveMemberMidsByBuddyMid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getActiveMemberMidsByBuddyMid_result()\n    try:\n      result.success = self._handler.getActiveMemberMidsByBuddyMid(args.buddyMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getActiveMemberMidsByBuddyMid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getAllBuddyMembers(self, seqid, iprot, oprot):\n    args = getAllBuddyMembers_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getAllBuddyMembers_result()\n    try:\n      result.success = self._handler.getAllBuddyMembers()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getAllBuddyMembers\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBlockedBuddyMembers(self, seqid, iprot, oprot):\n    args = getBlockedBuddyMembers_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBlockedBuddyMembers_result()\n    try:\n      result.success = self._handler.getBlockedBuddyMembers()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBlockedBuddyMembers\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBlockerCountByBuddyMid(self, seqid, iprot, oprot):\n    args = getBlockerCountByBuddyMid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBlockerCountByBuddyMid_result()\n    try:\n      result.success = self._handler.getBlockerCountByBuddyMid(args.buddyMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBlockerCountByBuddyMid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBuddyDetailByMid(self, seqid, iprot, oprot):\n    args = getBuddyDetailByMid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBuddyDetailByMid_result()\n    try:\n      result.success = self._handler.getBuddyDetailByMid(args.buddyMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBuddyDetailByMid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBuddyProfile(self, seqid, iprot, oprot):\n    args = getBuddyProfile_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBuddyProfile_result()\n    try:\n      result.success = self._handler.getBuddyProfile()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBuddyProfile\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getContactTicket(self, seqid, iprot, oprot):\n    args = getContactTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getContactTicket_result()\n    try:\n      result.success = self._handler.getContactTicket()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getContactTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMemberCountByBuddyMid(self, seqid, iprot, oprot):\n    args = getMemberCountByBuddyMid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMemberCountByBuddyMid_result()\n    try:\n      result.success = self._handler.getMemberCountByBuddyMid(args.buddyMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMemberCountByBuddyMid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getSendBuddyMessageResult(self, seqid, iprot, oprot):\n    args = getSendBuddyMessageResult_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getSendBuddyMessageResult_result()\n    try:\n      result.success = self._handler.getSendBuddyMessageResult(args.sendBuddyMessageRequestId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getSendBuddyMessageResult\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getSetBuddyOnAirResult(self, seqid, iprot, oprot):\n    args = getSetBuddyOnAirResult_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getSetBuddyOnAirResult_result()\n    try:\n      result.success = self._handler.getSetBuddyOnAirResult(args.setBuddyOnAirRequestId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getSetBuddyOnAirResult\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getUpdateBuddyProfileResult(self, seqid, iprot, oprot):\n    args = getUpdateBuddyProfileResult_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getUpdateBuddyProfileResult_result()\n    try:\n      result.success = self._handler.getUpdateBuddyProfileResult(args.updateBuddyProfileRequestId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getUpdateBuddyProfileResult\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_isBuddyOnAirByMid(self, seqid, iprot, oprot):\n    args = isBuddyOnAirByMid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = isBuddyOnAirByMid_result()\n    try:\n      result.success = self._handler.isBuddyOnAirByMid(args.buddyMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"isBuddyOnAirByMid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_linkAndSendBuddyContentMessageToAllAsync(self, seqid, iprot, oprot):\n    args = linkAndSendBuddyContentMessageToAllAsync_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = linkAndSendBuddyContentMessageToAllAsync_result()\n    try:\n      result.success = self._handler.linkAndSendBuddyContentMessageToAllAsync(args.requestId, args.msg, args.sourceContentId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"linkAndSendBuddyContentMessageToAllAsync\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_linkAndSendBuddyContentMessageTomids(self, seqid, iprot, oprot):\n    args = linkAndSendBuddyContentMessageTomids_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = linkAndSendBuddyContentMessageTomids_result()\n    try:\n      result.success = self._handler.linkAndSendBuddyContentMessageTomids(args.requestId, args.msg, args.sourceContentId, args.mids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"linkAndSendBuddyContentMessageTomids\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifyBuddyBlocked(self, seqid, iprot, oprot):\n    args = notifyBuddyBlocked_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifyBuddyBlocked_result()\n    try:\n      self._handler.notifyBuddyBlocked(args.buddyMid, args.blockerMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifyBuddyBlocked\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifyBuddyUnblocked(self, seqid, iprot, oprot):\n    args = notifyBuddyUnblocked_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifyBuddyUnblocked_result()\n    try:\n      self._handler.notifyBuddyUnblocked(args.buddyMid, args.blockerMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifyBuddyUnblocked\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerBuddy(self, seqid, iprot, oprot):\n    args = registerBuddy_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerBuddy_result()\n    try:\n      result.success = self._handler.registerBuddy(args.buddyId, args.searchId, args.displayName, args.statusMeessage, args.picture, args.settings)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerBuddy\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerBuddyAdmin(self, seqid, iprot, oprot):\n    args = registerBuddyAdmin_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerBuddyAdmin_result()\n    try:\n      result.success = self._handler.registerBuddyAdmin(args.buddyId, args.searchId, args.displayName, args.statusMessage, args.picture)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerBuddyAdmin\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reissueContactTicket(self, seqid, iprot, oprot):\n    args = reissueContactTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reissueContactTicket_result()\n    try:\n      result.success = self._handler.reissueContactTicket(args.expirationTime, args.maxUseCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reissueContactTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_removeBuddyMember(self, seqid, iprot, oprot):\n    args = removeBuddyMember_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = removeBuddyMember_result()\n    try:\n      self._handler.removeBuddyMember(args.requestId, args.userMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"removeBuddyMember\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_removeBuddyMembers(self, seqid, iprot, oprot):\n    args = removeBuddyMembers_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = removeBuddyMembers_result()\n    try:\n      self._handler.removeBuddyMembers(args.requestId, args.userMids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"removeBuddyMembers\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendBuddyContentMessageToAll(self, seqid, iprot, oprot):\n    args = sendBuddyContentMessageToAll_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendBuddyContentMessageToAll_result()\n    try:\n      result.success = self._handler.sendBuddyContentMessageToAll(args.requestId, args.msg, args.content)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendBuddyContentMessageToAll\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendBuddyContentMessageToAllAsync(self, seqid, iprot, oprot):\n    args = sendBuddyContentMessageToAllAsync_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendBuddyContentMessageToAllAsync_result()\n    try:\n      result.success = self._handler.sendBuddyContentMessageToAllAsync(args.requestId, args.msg, args.content)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendBuddyContentMessageToAllAsync\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendBuddyContentMessageTomids(self, seqid, iprot, oprot):\n    args = sendBuddyContentMessageTomids_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendBuddyContentMessageTomids_result()\n    try:\n      result.success = self._handler.sendBuddyContentMessageTomids(args.requestId, args.msg, args.content, args.mids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendBuddyContentMessageTomids\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendBuddyContentMessageTomidsAsync(self, seqid, iprot, oprot):\n    args = sendBuddyContentMessageTomidsAsync_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendBuddyContentMessageTomidsAsync_result()\n    try:\n      result.success = self._handler.sendBuddyContentMessageTomidsAsync(args.requestId, args.msg, args.content, args.mids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendBuddyContentMessageTomidsAsync\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendBuddyMessageToAll(self, seqid, iprot, oprot):\n    args = sendBuddyMessageToAll_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendBuddyMessageToAll_result()\n    try:\n      result.success = self._handler.sendBuddyMessageToAll(args.requestId, args.msg)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendBuddyMessageToAll\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendBuddyMessageToAllAsync(self, seqid, iprot, oprot):\n    args = sendBuddyMessageToAllAsync_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendBuddyMessageToAllAsync_result()\n    try:\n      result.success = self._handler.sendBuddyMessageToAllAsync(args.requestId, args.msg)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendBuddyMessageToAllAsync\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendBuddyMessageTomids(self, seqid, iprot, oprot):\n    args = sendBuddyMessageTomids_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendBuddyMessageTomids_result()\n    try:\n      result.success = self._handler.sendBuddyMessageTomids(args.requestId, args.msg, args.mids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendBuddyMessageTomids\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendBuddyMessageTomidsAsync(self, seqid, iprot, oprot):\n    args = sendBuddyMessageTomidsAsync_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendBuddyMessageTomidsAsync_result()\n    try:\n      result.success = self._handler.sendBuddyMessageTomidsAsync(args.requestId, args.msg, args.mids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendBuddyMessageTomidsAsync\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendIndividualEventToAllAsync(self, seqid, iprot, oprot):\n    args = sendIndividualEventToAllAsync_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendIndividualEventToAllAsync_result()\n    try:\n      self._handler.sendIndividualEventToAllAsync(args.requestId, args.buddyMid, args.notificationStatus)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendIndividualEventToAllAsync\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_setBuddyOnAir(self, seqid, iprot, oprot):\n    args = setBuddyOnAir_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = setBuddyOnAir_result()\n    try:\n      result.success = self._handler.setBuddyOnAir(args.requestId, args.onAir)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"setBuddyOnAir\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_setBuddyOnAirAsync(self, seqid, iprot, oprot):\n    args = setBuddyOnAirAsync_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = setBuddyOnAirAsync_result()\n    try:\n      result.success = self._handler.setBuddyOnAirAsync(args.requestId, args.onAir)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"setBuddyOnAirAsync\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_storeMessage(self, seqid, iprot, oprot):\n    args = storeMessage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = storeMessage_result()\n    try:\n      result.success = self._handler.storeMessage(args.requestId, args.messageRequest)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"storeMessage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_unblockBuddyMember(self, seqid, iprot, oprot):\n    args = unblockBuddyMember_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = unblockBuddyMember_result()\n    try:\n      self._handler.unblockBuddyMember(args.requestId, args.mid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"unblockBuddyMember\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_unregisterBuddy(self, seqid, iprot, oprot):\n    args = unregisterBuddy_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = unregisterBuddy_result()\n    try:\n      self._handler.unregisterBuddy(args.requestId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"unregisterBuddy\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_unregisterBuddyAdmin(self, seqid, iprot, oprot):\n    args = unregisterBuddyAdmin_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = unregisterBuddyAdmin_result()\n    try:\n      self._handler.unregisterBuddyAdmin(args.requestId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"unregisterBuddyAdmin\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateBuddyAdminProfileAttribute(self, seqid, iprot, oprot):\n    args = updateBuddyAdminProfileAttribute_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateBuddyAdminProfileAttribute_result()\n    try:\n      self._handler.updateBuddyAdminProfileAttribute(args.requestId, args.attributes)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateBuddyAdminProfileAttribute\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateBuddyAdminProfileImage(self, seqid, iprot, oprot):\n    args = updateBuddyAdminProfileImage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateBuddyAdminProfileImage_result()\n    try:\n      self._handler.updateBuddyAdminProfileImage(args.requestId, args.picture)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateBuddyAdminProfileImage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateBuddyProfileAttributes(self, seqid, iprot, oprot):\n    args = updateBuddyProfileAttributes_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateBuddyProfileAttributes_result()\n    try:\n      result.success = self._handler.updateBuddyProfileAttributes(args.requestId, args.attributes)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateBuddyProfileAttributes\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateBuddyProfileAttributesAsync(self, seqid, iprot, oprot):\n    args = updateBuddyProfileAttributesAsync_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateBuddyProfileAttributesAsync_result()\n    try:\n      result.success = self._handler.updateBuddyProfileAttributesAsync(args.requestId, args.attributes)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateBuddyProfileAttributesAsync\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateBuddyProfileImage(self, seqid, iprot, oprot):\n    args = updateBuddyProfileImage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateBuddyProfileImage_result()\n    try:\n      result.success = self._handler.updateBuddyProfileImage(args.requestId, args.image)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateBuddyProfileImage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateBuddyProfileImageAsync(self, seqid, iprot, oprot):\n    args = updateBuddyProfileImageAsync_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateBuddyProfileImageAsync_result()\n    try:\n      result.success = self._handler.updateBuddyProfileImageAsync(args.requestId, args.image)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateBuddyProfileImageAsync\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateBuddySearchId(self, seqid, iprot, oprot):\n    args = updateBuddySearchId_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateBuddySearchId_result()\n    try:\n      self._handler.updateBuddySearchId(args.requestId, args.searchId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateBuddySearchId\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateBuddySettings(self, seqid, iprot, oprot):\n    args = updateBuddySettings_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateBuddySettings_result()\n    try:\n      self._handler.updateBuddySettings(args.settings)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateBuddySettings\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_uploadBuddyContent(self, seqid, iprot, oprot):\n    args = uploadBuddyContent_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = uploadBuddyContent_result()\n    try:\n      result.success = self._handler.uploadBuddyContent(args.contentType, args.content)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"uploadBuddyContent\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findBuddyContactsByQuery(self, seqid, iprot, oprot):\n    args = findBuddyContactsByQuery_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findBuddyContactsByQuery_result()\n    try:\n      result.success = self._handler.findBuddyContactsByQuery(args.language, args.country, args.query, args.fromIndex, args.count, args.requestSource)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findBuddyContactsByQuery\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBuddyContacts(self, seqid, iprot, oprot):\n    args = getBuddyContacts_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBuddyContacts_result()\n    try:\n      result.success = self._handler.getBuddyContacts(args.language, args.country, args.classification, args.fromIndex, args.count)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBuddyContacts\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBuddyDetail(self, seqid, iprot, oprot):\n    args = getBuddyDetail_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBuddyDetail_result()\n    try:\n      result.success = self._handler.getBuddyDetail(args.buddyMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBuddyDetail\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBuddyOnAir(self, seqid, iprot, oprot):\n    args = getBuddyOnAir_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBuddyOnAir_result()\n    try:\n      result.success = self._handler.getBuddyOnAir(args.buddyMid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBuddyOnAir\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCountriesHavingBuddy(self, seqid, iprot, oprot):\n    args = getCountriesHavingBuddy_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCountriesHavingBuddy_result()\n    try:\n      result.success = self._handler.getCountriesHavingBuddy()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCountriesHavingBuddy\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getNewlyReleasedBuddyIds(self, seqid, iprot, oprot):\n    args = getNewlyReleasedBuddyIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getNewlyReleasedBuddyIds_result()\n    try:\n      result.success = self._handler.getNewlyReleasedBuddyIds(args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getNewlyReleasedBuddyIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getPopularBuddyBanner(self, seqid, iprot, oprot):\n    args = getPopularBuddyBanner_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getPopularBuddyBanner_result()\n    try:\n      result.success = self._handler.getPopularBuddyBanner(args.language, args.country, args.applicationType, args.resourceSpecification)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getPopularBuddyBanner\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getPopularBuddyLists(self, seqid, iprot, oprot):\n    args = getPopularBuddyLists_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getPopularBuddyLists_result()\n    try:\n      result.success = self._handler.getPopularBuddyLists(args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getPopularBuddyLists\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getPromotedBuddyContacts(self, seqid, iprot, oprot):\n    args = getPromotedBuddyContacts_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getPromotedBuddyContacts_result()\n    try:\n      result.success = self._handler.getPromotedBuddyContacts(args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getPromotedBuddyContacts\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_activeBuddySubscriberCount(self, seqid, iprot, oprot):\n    args = activeBuddySubscriberCount_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = activeBuddySubscriberCount_result()\n    try:\n      result.success = self._handler.activeBuddySubscriberCount()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"activeBuddySubscriberCount\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_addOperationForChannel(self, seqid, iprot, oprot):\n    args = addOperationForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = addOperationForChannel_result()\n    try:\n      self._handler.addOperationForChannel(args.opType, args.param1, args.param2, args.param3)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"addOperationForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_displayBuddySubscriberCount(self, seqid, iprot, oprot):\n    args = displayBuddySubscriberCount_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = displayBuddySubscriberCount_result()\n    try:\n      result.success = self._handler.displayBuddySubscriberCount()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"displayBuddySubscriberCount\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findContactByUseridWithoutAbuseBlockForChannel(self, seqid, iprot, oprot):\n    args = findContactByUseridWithoutAbuseBlockForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findContactByUseridWithoutAbuseBlockForChannel_result()\n    try:\n      result.success = self._handler.findContactByUseridWithoutAbuseBlockForChannel(args.userid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findContactByUseridWithoutAbuseBlockForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getAllContactIdsForChannel(self, seqid, iprot, oprot):\n    args = getAllContactIdsForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getAllContactIdsForChannel_result()\n    try:\n      result.success = self._handler.getAllContactIdsForChannel()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getAllContactIdsForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCompactContacts(self, seqid, iprot, oprot):\n    args = getCompactContacts_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCompactContacts_result()\n    try:\n      result.success = self._handler.getCompactContacts(args.lastModifiedTimestamp)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCompactContacts\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getContactsForChannel(self, seqid, iprot, oprot):\n    args = getContactsForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getContactsForChannel_result()\n    try:\n      result.success = self._handler.getContactsForChannel(args.ids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getContactsForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getDisplayName(self, seqid, iprot, oprot):\n    args = getDisplayName_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getDisplayName_result()\n    try:\n      result.success = self._handler.getDisplayName(args.mid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getDisplayName\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getFavoriteMidsForChannel(self, seqid, iprot, oprot):\n    args = getFavoriteMidsForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getFavoriteMidsForChannel_result()\n    try:\n      result.success = self._handler.getFavoriteMidsForChannel()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getFavoriteMidsForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getFriendMids(self, seqid, iprot, oprot):\n    args = getFriendMids_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getFriendMids_result()\n    try:\n      result.success = self._handler.getFriendMids()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getFriendMids\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getGroupMemberMids(self, seqid, iprot, oprot):\n    args = getGroupMemberMids_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getGroupMemberMids_result()\n    try:\n      result.success = self._handler.getGroupMemberMids(args.groupId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getGroupMemberMids\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getGroupsForChannel(self, seqid, iprot, oprot):\n    args = getGroupsForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getGroupsForChannel_result()\n    try:\n      result.success = self._handler.getGroupsForChannel(args.groupIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getGroupsForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getIdentityCredential(self, seqid, iprot, oprot):\n    args = getIdentityCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getIdentityCredential_result()\n    try:\n      result.success = self._handler.getIdentityCredential()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getIdentityCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getJoinedGroupIdsForChannel(self, seqid, iprot, oprot):\n    args = getJoinedGroupIdsForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getJoinedGroupIdsForChannel_result()\n    try:\n      result.success = self._handler.getJoinedGroupIdsForChannel()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getJoinedGroupIdsForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMetaProfile(self, seqid, iprot, oprot):\n    args = getMetaProfile_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMetaProfile_result()\n    try:\n      result.success = self._handler.getMetaProfile()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMetaProfile\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMid(self, seqid, iprot, oprot):\n    args = getMid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMid_result()\n    try:\n      result.success = self._handler.getMid()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getPrimaryClientForChannel(self, seqid, iprot, oprot):\n    args = getPrimaryClientForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getPrimaryClientForChannel_result()\n    try:\n      result.success = self._handler.getPrimaryClientForChannel()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getPrimaryClientForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getProfileForChannel(self, seqid, iprot, oprot):\n    args = getProfileForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getProfileForChannel_result()\n    try:\n      result.success = self._handler.getProfileForChannel()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getProfileForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getSimpleChannelContacts(self, seqid, iprot, oprot):\n    args = getSimpleChannelContacts_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getSimpleChannelContacts_result()\n    try:\n      result.success = self._handler.getSimpleChannelContacts(args.ids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getSimpleChannelContacts\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getUserCountryForBilling(self, seqid, iprot, oprot):\n    args = getUserCountryForBilling_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getUserCountryForBilling_result()\n    try:\n      result.success = self._handler.getUserCountryForBilling(args.country, args.remoteIp)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getUserCountryForBilling\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getUserCreateTime(self, seqid, iprot, oprot):\n    args = getUserCreateTime_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getUserCreateTime_result()\n    try:\n      result.success = self._handler.getUserCreateTime()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getUserCreateTime\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getUserIdentities(self, seqid, iprot, oprot):\n    args = getUserIdentities_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getUserIdentities_result()\n    try:\n      result.success = self._handler.getUserIdentities()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getUserIdentities\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getUserLanguage(self, seqid, iprot, oprot):\n    args = getUserLanguage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getUserLanguage_result()\n    try:\n      result.success = self._handler.getUserLanguage()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getUserLanguage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getUserMidsWhoAddedMe(self, seqid, iprot, oprot):\n    args = getUserMidsWhoAddedMe_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getUserMidsWhoAddedMe_result()\n    try:\n      result.success = self._handler.getUserMidsWhoAddedMe()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getUserMidsWhoAddedMe\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_isGroupMember(self, seqid, iprot, oprot):\n    args = isGroupMember_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = isGroupMember_result()\n    try:\n      result.success = self._handler.isGroupMember(args.groupId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"isGroupMember\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_isInContact(self, seqid, iprot, oprot):\n    args = isInContact_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = isInContact_result()\n    try:\n      result.success = self._handler.isInContact(args.mid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"isInContact\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerChannelCP(self, seqid, iprot, oprot):\n    args = registerChannelCP_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerChannelCP_result()\n    try:\n      result.success = self._handler.registerChannelCP(args.cpId, args.registerPassword)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerChannelCP\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_removeNotificationStatus(self, seqid, iprot, oprot):\n    args = removeNotificationStatus_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = removeNotificationStatus_result()\n    try:\n      self._handler.removeNotificationStatus(args.notificationStatus)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"removeNotificationStatus\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendMessageForChannel(self, seqid, iprot, oprot):\n    args = sendMessageForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendMessageForChannel_result()\n    try:\n      result.success = self._handler.sendMessageForChannel(args.message)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendMessageForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendPinCodeOperation(self, seqid, iprot, oprot):\n    args = sendPinCodeOperation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendPinCodeOperation_result()\n    try:\n      self._handler.sendPinCodeOperation(args.verifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendPinCodeOperation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateProfileAttributeForChannel(self, seqid, iprot, oprot):\n    args = updateProfileAttributeForChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateProfileAttributeForChannel_result()\n    try:\n      self._handler.updateProfileAttributeForChannel(args.profileAttribute, args.value)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateProfileAttributeForChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_approveChannelAndIssueChannelToken(self, seqid, iprot, oprot):\n    args = approveChannelAndIssueChannelToken_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = approveChannelAndIssueChannelToken_result()\n    try:\n      result.success = self._handler.approveChannelAndIssueChannelToken(args.channelId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"approveChannelAndIssueChannelToken\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_approveChannelAndIssueRequestToken(self, seqid, iprot, oprot):\n    args = approveChannelAndIssueRequestToken_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = approveChannelAndIssueRequestToken_result()\n    try:\n      result.success = self._handler.approveChannelAndIssueRequestToken(args.channelId, args.otpId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"approveChannelAndIssueRequestToken\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_fetchNotificationItems(self, seqid, iprot, oprot):\n    args = fetchNotificationItems_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = fetchNotificationItems_result()\n    try:\n      result.success = self._handler.fetchNotificationItems(args.localRev)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"fetchNotificationItems\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getApprovedChannels(self, seqid, iprot, oprot):\n    args = getApprovedChannels_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getApprovedChannels_result()\n    try:\n      result.success = self._handler.getApprovedChannels(args.lastSynced, args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getApprovedChannels\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getChannelInfo(self, seqid, iprot, oprot):\n    args = getChannelInfo_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getChannelInfo_result()\n    try:\n      result.success = self._handler.getChannelInfo(args.channelId, args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getChannelInfo\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getChannelNotificationSetting(self, seqid, iprot, oprot):\n    args = getChannelNotificationSetting_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getChannelNotificationSetting_result()\n    try:\n      result.success = self._handler.getChannelNotificationSetting(args.channelId, args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getChannelNotificationSetting\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getChannelNotificationSettings(self, seqid, iprot, oprot):\n    args = getChannelNotificationSettings_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getChannelNotificationSettings_result()\n    try:\n      result.success = self._handler.getChannelNotificationSettings(args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getChannelNotificationSettings\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getChannels(self, seqid, iprot, oprot):\n    args = getChannels_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getChannels_result()\n    try:\n      result.success = self._handler.getChannels(args.lastSynced, args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getChannels\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getDomains(self, seqid, iprot, oprot):\n    args = getDomains_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getDomains_result()\n    try:\n      result.success = self._handler.getDomains(args.lastSynced)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getDomains\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getFriendChannelMatrices(self, seqid, iprot, oprot):\n    args = getFriendChannelMatrices_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getFriendChannelMatrices_result()\n    try:\n      result.success = self._handler.getFriendChannelMatrices(args.channelIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getFriendChannelMatrices\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getNotificationBadgeCount(self, seqid, iprot, oprot):\n    args = getNotificationBadgeCount_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getNotificationBadgeCount_result()\n    try:\n      result.success = self._handler.getNotificationBadgeCount(args.localRev)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getNotificationBadgeCount\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_issueChannelToken(self, seqid, iprot, oprot):\n    args = issueChannelToken_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = issueChannelToken_result()\n    try:\n      result.success = self._handler.issueChannelToken(args.channelId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"issueChannelToken\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_issueRequestToken(self, seqid, iprot, oprot):\n    args = issueRequestToken_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = issueRequestToken_result()\n    try:\n      result.success = self._handler.issueRequestToken(args.channelId, args.otpId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"issueRequestToken\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_issueRequestTokenWithAuthScheme(self, seqid, iprot, oprot):\n    args = issueRequestTokenWithAuthScheme_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = issueRequestTokenWithAuthScheme_result()\n    try:\n      result.success = self._handler.issueRequestTokenWithAuthScheme(args.channelId, args.otpId, args.authScheme, args.returnUrl)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"issueRequestTokenWithAuthScheme\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reserveCoinUse(self, seqid, iprot, oprot):\n    args = reserveCoinUse_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reserveCoinUse_result()\n    try:\n      result.success = self._handler.reserveCoinUse(args.request, args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reserveCoinUse\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_revokeChannel(self, seqid, iprot, oprot):\n    args = revokeChannel_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = revokeChannel_result()\n    try:\n      self._handler.revokeChannel(args.channelId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"revokeChannel\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_syncChannelData(self, seqid, iprot, oprot):\n    args = syncChannelData_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = syncChannelData_result()\n    try:\n      result.success = self._handler.syncChannelData(args.lastSynced, args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"syncChannelData\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateChannelNotificationSetting(self, seqid, iprot, oprot):\n    args = updateChannelNotificationSetting_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateChannelNotificationSetting_result()\n    try:\n      self._handler.updateChannelNotificationSetting(args.setting)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except ChannelException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateChannelNotificationSetting\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_fetchMessageOperations(self, seqid, iprot, oprot):\n    args = fetchMessageOperations_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = fetchMessageOperations_result()\n    try:\n      result.success = self._handler.fetchMessageOperations(args.localRevision, args.lastOpTimestamp, args.count)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"fetchMessageOperations\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getLastReadMessageIds(self, seqid, iprot, oprot):\n    args = getLastReadMessageIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getLastReadMessageIds_result()\n    try:\n      result.success = self._handler.getLastReadMessageIds(args.chatId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getLastReadMessageIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_multiGetLastReadMessageIds(self, seqid, iprot, oprot):\n    args = multiGetLastReadMessageIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = multiGetLastReadMessageIds_result()\n    try:\n      result.success = self._handler.multiGetLastReadMessageIds(args.chatIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"multiGetLastReadMessageIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_buyCoinProduct(self, seqid, iprot, oprot):\n    args = buyCoinProduct_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = buyCoinProduct_result()\n    try:\n      self._handler.buyCoinProduct(args.paymentReservation)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"buyCoinProduct\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_buyFreeProduct(self, seqid, iprot, oprot):\n    args = buyFreeProduct_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = buyFreeProduct_result()\n    try:\n      self._handler.buyFreeProduct(args.receiverMid, args.productId, args.messageTemplate, args.language, args.country, args.packageId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"buyFreeProduct\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_buyMustbuyProduct(self, seqid, iprot, oprot):\n    args = buyMustbuyProduct_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = buyMustbuyProduct_result()\n    try:\n      self._handler.buyMustbuyProduct(args.receiverMid, args.productId, args.messageTemplate, args.language, args.country, args.packageId, args.serialNumber)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"buyMustbuyProduct\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_checkCanReceivePresent(self, seqid, iprot, oprot):\n    args = checkCanReceivePresent_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = checkCanReceivePresent_result()\n    try:\n      self._handler.checkCanReceivePresent(args.recipientMid, args.packageId, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"checkCanReceivePresent\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getActivePurchases(self, seqid, iprot, oprot):\n    args = getActivePurchases_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getActivePurchases_result()\n    try:\n      result.success = self._handler.getActivePurchases(args.start, args.size, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getActivePurchases\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getActivePurchaseVersions(self, seqid, iprot, oprot):\n    args = getActivePurchaseVersions_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getActivePurchaseVersions_result()\n    try:\n      result.success = self._handler.getActivePurchaseVersions(args.start, args.size, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getActivePurchaseVersions\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCoinProducts(self, seqid, iprot, oprot):\n    args = getCoinProducts_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCoinProducts_result()\n    try:\n      result.success = self._handler.getCoinProducts(args.appStoreCode, args.country, args.language)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCoinProducts\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCoinProductsByPgCode(self, seqid, iprot, oprot):\n    args = getCoinProductsByPgCode_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCoinProductsByPgCode_result()\n    try:\n      result.success = self._handler.getCoinProductsByPgCode(args.appStoreCode, args.pgCode, args.country, args.language)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCoinProductsByPgCode\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCoinPurchaseHistory(self, seqid, iprot, oprot):\n    args = getCoinPurchaseHistory_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCoinPurchaseHistory_result()\n    try:\n      result.success = self._handler.getCoinPurchaseHistory(args.request)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCoinPurchaseHistory\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCoinUseAndRefundHistory(self, seqid, iprot, oprot):\n    args = getCoinUseAndRefundHistory_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCoinUseAndRefundHistory_result()\n    try:\n      result.success = self._handler.getCoinUseAndRefundHistory(args.request)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCoinUseAndRefundHistory\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getDownloads(self, seqid, iprot, oprot):\n    args = getDownloads_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getDownloads_result()\n    try:\n      result.success = self._handler.getDownloads(args.start, args.size, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getDownloads\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getEventPackages(self, seqid, iprot, oprot):\n    args = getEventPackages_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getEventPackages_result()\n    try:\n      result.success = self._handler.getEventPackages(args.start, args.size, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getEventPackages\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getNewlyReleasedPackages(self, seqid, iprot, oprot):\n    args = getNewlyReleasedPackages_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getNewlyReleasedPackages_result()\n    try:\n      result.success = self._handler.getNewlyReleasedPackages(args.start, args.size, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getNewlyReleasedPackages\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getPopularPackages(self, seqid, iprot, oprot):\n    args = getPopularPackages_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getPopularPackages_result()\n    try:\n      result.success = self._handler.getPopularPackages(args.start, args.size, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getPopularPackages\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getPresentsReceived(self, seqid, iprot, oprot):\n    args = getPresentsReceived_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getPresentsReceived_result()\n    try:\n      result.success = self._handler.getPresentsReceived(args.start, args.size, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getPresentsReceived\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getPresentsSent(self, seqid, iprot, oprot):\n    args = getPresentsSent_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getPresentsSent_result()\n    try:\n      result.success = self._handler.getPresentsSent(args.start, args.size, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getPresentsSent\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getProduct(self, seqid, iprot, oprot):\n    args = getProduct_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getProduct_result()\n    try:\n      result.success = self._handler.getProduct(args.packageID, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getProduct\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getProductList(self, seqid, iprot, oprot):\n    args = getProductList_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getProductList_result()\n    try:\n      result.success = self._handler.getProductList(args.productIdList, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getProductList\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getProductListWithCarrier(self, seqid, iprot, oprot):\n    args = getProductListWithCarrier_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getProductListWithCarrier_result()\n    try:\n      result.success = self._handler.getProductListWithCarrier(args.productIdList, args.language, args.country, args.carrierCode)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getProductListWithCarrier\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getProductWithCarrier(self, seqid, iprot, oprot):\n    args = getProductWithCarrier_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getProductWithCarrier_result()\n    try:\n      result.success = self._handler.getProductWithCarrier(args.packageID, args.language, args.country, args.carrierCode)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getProductWithCarrier\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getPurchaseHistory(self, seqid, iprot, oprot):\n    args = getPurchaseHistory_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getPurchaseHistory_result()\n    try:\n      result.success = self._handler.getPurchaseHistory(args.start, args.size, args.language, args.country)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getPurchaseHistory\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getTotalBalance(self, seqid, iprot, oprot):\n    args = getTotalBalance_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getTotalBalance_result()\n    try:\n      result.success = self._handler.getTotalBalance(args.appStoreCode)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getTotalBalance\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifyDownloaded(self, seqid, iprot, oprot):\n    args = notifyDownloaded_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifyDownloaded_result()\n    try:\n      result.success = self._handler.notifyDownloaded(args.packageId, args.language)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifyDownloaded\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reserveCoinPurchase(self, seqid, iprot, oprot):\n    args = reserveCoinPurchase_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reserveCoinPurchase_result()\n    try:\n      result.success = self._handler.reserveCoinPurchase(args.request)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reserveCoinPurchase\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reservePayment(self, seqid, iprot, oprot):\n    args = reservePayment_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reservePayment_result()\n    try:\n      result.success = self._handler.reservePayment(args.paymentReservation)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reservePayment\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getSnsFriends(self, seqid, iprot, oprot):\n    args = getSnsFriends_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getSnsFriends_result()\n    try:\n      result.success = self._handler.getSnsFriends(args.snsIdType, args.snsAccessToken, args.startIdx, args.limit)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getSnsFriends\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getSnsMyProfile(self, seqid, iprot, oprot):\n    args = getSnsMyProfile_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getSnsMyProfile_result()\n    try:\n      result.success = self._handler.getSnsMyProfile(args.snsIdType, args.snsAccessToken)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getSnsMyProfile\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_postSnsInvitationMessage(self, seqid, iprot, oprot):\n    args = postSnsInvitationMessage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = postSnsInvitationMessage_result()\n    try:\n      self._handler.postSnsInvitationMessage(args.snsIdType, args.snsAccessToken, args.toSnsUserId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"postSnsInvitationMessage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_acceptGroupInvitation(self, seqid, iprot, oprot):\n    args = acceptGroupInvitation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = acceptGroupInvitation_result()\n    try:\n      self._handler.acceptGroupInvitation(args.reqSeq, args.groupId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"acceptGroupInvitation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_acceptGroupInvitationByTicket(self, seqid, iprot, oprot):\n    args = acceptGroupInvitationByTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = acceptGroupInvitationByTicket_result()\n    try:\n      self._handler.acceptGroupInvitationByTicket(args.reqSeq, args.groupId, args.ticketId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"acceptGroupInvitationByTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_acceptProximityMatches(self, seqid, iprot, oprot):\n    args = acceptProximityMatches_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = acceptProximityMatches_result()\n    try:\n      self._handler.acceptProximityMatches(args.sessionId, args.ids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"acceptProximityMatches\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_acquireCallRoute(self, seqid, iprot, oprot):\n    args = acquireCallRoute_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = acquireCallRoute_result()\n    try:\n      result.success = self._handler.acquireCallRoute(args.to)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"acquireCallRoute\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_acquireCallTicket(self, seqid, iprot, oprot):\n    args = acquireCallTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = acquireCallTicket_result()\n    try:\n      result.success = self._handler.acquireCallTicket(args.to)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"acquireCallTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_acquireEncryptedAccessToken(self, seqid, iprot, oprot):\n    args = acquireEncryptedAccessToken_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = acquireEncryptedAccessToken_result()\n    try:\n      result.success = self._handler.acquireEncryptedAccessToken(args.featureType)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"acquireEncryptedAccessToken\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_addSnsId(self, seqid, iprot, oprot):\n    args = addSnsId_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = addSnsId_result()\n    try:\n      result.success = self._handler.addSnsId(args.snsIdType, args.snsAccessToken)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"addSnsId\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_blockContact(self, seqid, iprot, oprot):\n    args = blockContact_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = blockContact_result()\n    try:\n      self._handler.blockContact(args.reqSeq, args.id)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"blockContact\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_blockRecommendation(self, seqid, iprot, oprot):\n    args = blockRecommendation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = blockRecommendation_result()\n    try:\n      self._handler.blockRecommendation(args.reqSeq, args.id)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"blockRecommendation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_cancelGroupInvitation(self, seqid, iprot, oprot):\n    args = cancelGroupInvitation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = cancelGroupInvitation_result()\n    try:\n      self._handler.cancelGroupInvitation(args.reqSeq, args.groupId, args.contactIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"cancelGroupInvitation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_changeVerificationMethod(self, seqid, iprot, oprot):\n    args = changeVerificationMethod_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = changeVerificationMethod_result()\n    try:\n      result.success = self._handler.changeVerificationMethod(args.sessionId, args.method)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"changeVerificationMethod\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_clearIdentityCredential(self, seqid, iprot, oprot):\n    args = clearIdentityCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = clearIdentityCredential_result()\n    try:\n      self._handler.clearIdentityCredential()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"clearIdentityCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_clearMessageBox(self, seqid, iprot, oprot):\n    args = clearMessageBox_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = clearMessageBox_result()\n    try:\n      self._handler.clearMessageBox(args.channelId, args.messageBoxId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"clearMessageBox\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_closeProximityMatch(self, seqid, iprot, oprot):\n    args = closeProximityMatch_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = closeProximityMatch_result()\n    try:\n      self._handler.closeProximityMatch(args.sessionId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"closeProximityMatch\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_commitSendMessage(self, seqid, iprot, oprot):\n    args = commitSendMessage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = commitSendMessage_result()\n    try:\n      result.success = self._handler.commitSendMessage(args.seq, args.messageId, args.receiverMids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"commitSendMessage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_commitSendMessages(self, seqid, iprot, oprot):\n    args = commitSendMessages_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = commitSendMessages_result()\n    try:\n      result.success = self._handler.commitSendMessages(args.seq, args.messageIds, args.receiverMids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"commitSendMessages\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_commitUpdateProfile(self, seqid, iprot, oprot):\n    args = commitUpdateProfile_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = commitUpdateProfile_result()\n    try:\n      result.success = self._handler.commitUpdateProfile(args.seq, args.attrs, args.receiverMids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"commitUpdateProfile\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_confirmEmail(self, seqid, iprot, oprot):\n    args = confirmEmail_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = confirmEmail_result()\n    try:\n      self._handler.confirmEmail(args.verifier, args.pinCode)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"confirmEmail\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_createGroup(self, seqid, iprot, oprot):\n    args = createGroup_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = createGroup_result()\n    try:\n      result.success = self._handler.createGroup(args.seq, args.name, args.contactIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"createGroup\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_createQrcodeBase64Image(self, seqid, iprot, oprot):\n    args = createQrcodeBase64Image_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = createQrcodeBase64Image_result()\n    try:\n      result.success = self._handler.createQrcodeBase64Image(args.url, args.characterSet, args.imageSize, args.x, args.y, args.width, args.height)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"createQrcodeBase64Image\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_createRoom(self, seqid, iprot, oprot):\n    args = createRoom_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = createRoom_result()\n    try:\n      result.success = self._handler.createRoom(args.reqSeq, args.contactIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"createRoom\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_createSession(self, seqid, iprot, oprot):\n    args = createSession_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = createSession_result()\n    try:\n      result.success = self._handler.createSession()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"createSession\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_fetchAnnouncements(self, seqid, iprot, oprot):\n    args = fetchAnnouncements_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = fetchAnnouncements_result()\n    try:\n      result.success = self._handler.fetchAnnouncements(args.lastFetchedIndex)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"fetchAnnouncements\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_fetchMessages(self, seqid, iprot, oprot):\n    args = fetchMessages_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = fetchMessages_result()\n    try:\n      result.success = self._handler.fetchMessages(args.localTs, args.count)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"fetchMessages\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_fetchOperations(self, seqid, iprot, oprot):\n    args = fetchOperations_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = fetchOperations_result()\n    try:\n      result.success = self._handler.fetchOperations(args.localRev, args.count)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"fetchOperations\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_fetchOps(self, seqid, iprot, oprot):\n    args = fetchOps_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = fetchOps_result()\n    try:\n      result.success = self._handler.fetchOps(args.localRev, args.count, args.globalRev, args.individualRev)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"fetchOps\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findAndAddContactsByEmail(self, seqid, iprot, oprot):\n    args = findAndAddContactsByEmail_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findAndAddContactsByEmail_result()\n    try:\n      result.success = self._handler.findAndAddContactsByEmail(args.reqSeq, args.emails)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findAndAddContactsByEmail\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findAndAddContactsByMid(self, seqid, iprot, oprot):\n    args = findAndAddContactsByMid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findAndAddContactsByMid_result()\n    try:\n      result.success = self._handler.findAndAddContactsByMid(args.reqSeq, args.mid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findAndAddContactsByMid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findAndAddContactsByPhone(self, seqid, iprot, oprot):\n    args = findAndAddContactsByPhone_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findAndAddContactsByPhone_result()\n    try:\n      result.success = self._handler.findAndAddContactsByPhone(args.reqSeq, args.phones)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findAndAddContactsByPhone\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findAndAddContactsByUserid(self, seqid, iprot, oprot):\n    args = findAndAddContactsByUserid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findAndAddContactsByUserid_result()\n    try:\n      result.success = self._handler.findAndAddContactsByUserid(args.reqSeq, args.userid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findAndAddContactsByUserid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findContactByUserid(self, seqid, iprot, oprot):\n    args = findContactByUserid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findContactByUserid_result()\n    try:\n      result.success = self._handler.findContactByUserid(args.userid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findContactByUserid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findContactByUserTicket(self, seqid, iprot, oprot):\n    args = findContactByUserTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findContactByUserTicket_result()\n    try:\n      result.success = self._handler.findContactByUserTicket(args.ticketId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findContactByUserTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findGroupByTicket(self, seqid, iprot, oprot):\n    args = findGroupByTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findGroupByTicket_result()\n    try:\n      result.success = self._handler.findGroupByTicket(args.ticketId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findGroupByTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findContactsByEmail(self, seqid, iprot, oprot):\n    args = findContactsByEmail_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findContactsByEmail_result()\n    try:\n      result.success = self._handler.findContactsByEmail(args.emails)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findContactsByEmail\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findContactsByPhone(self, seqid, iprot, oprot):\n    args = findContactsByPhone_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findContactsByPhone_result()\n    try:\n      result.success = self._handler.findContactsByPhone(args.phones)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findContactsByPhone\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_findSnsIdUserStatus(self, seqid, iprot, oprot):\n    args = findSnsIdUserStatus_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = findSnsIdUserStatus_result()\n    try:\n      result.success = self._handler.findSnsIdUserStatus(args.snsIdType, args.snsAccessToken, args.udidHash)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"findSnsIdUserStatus\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_finishUpdateVerification(self, seqid, iprot, oprot):\n    args = finishUpdateVerification_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = finishUpdateVerification_result()\n    try:\n      self._handler.finishUpdateVerification(args.sessionId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"finishUpdateVerification\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_generateUserTicket(self, seqid, iprot, oprot):\n    args = generateUserTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = generateUserTicket_result()\n    try:\n      result.success = self._handler.generateUserTicket(args.expirationTime, args.maxUseCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"generateUserTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getAcceptedProximityMatches(self, seqid, iprot, oprot):\n    args = getAcceptedProximityMatches_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getAcceptedProximityMatches_result()\n    try:\n      result.success = self._handler.getAcceptedProximityMatches(args.sessionId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getAcceptedProximityMatches\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getActiveBuddySubscriberIds(self, seqid, iprot, oprot):\n    args = getActiveBuddySubscriberIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getActiveBuddySubscriberIds_result()\n    try:\n      result.success = self._handler.getActiveBuddySubscriberIds()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getActiveBuddySubscriberIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getAllContactIds(self, seqid, iprot, oprot):\n    args = getAllContactIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getAllContactIds_result()\n    try:\n      result.success = self._handler.getAllContactIds()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getAllContactIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getAuthQrcode(self, seqid, iprot, oprot):\n    args = getAuthQrcode_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getAuthQrcode_result()\n    try:\n      result.success = self._handler.getAuthQrcode(args.keepLoggedIn, args.systemName)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getAuthQrcode\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBlockedContactIds(self, seqid, iprot, oprot):\n    args = getBlockedContactIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBlockedContactIds_result()\n    try:\n      result.success = self._handler.getBlockedContactIds()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBlockedContactIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBlockedContactIdsByRange(self, seqid, iprot, oprot):\n    args = getBlockedContactIdsByRange_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBlockedContactIdsByRange_result()\n    try:\n      result.success = self._handler.getBlockedContactIdsByRange(args.start, args.count)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBlockedContactIdsByRange\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBlockedRecommendationIds(self, seqid, iprot, oprot):\n    args = getBlockedRecommendationIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBlockedRecommendationIds_result()\n    try:\n      result.success = self._handler.getBlockedRecommendationIds()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBlockedRecommendationIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBuddyBlockerIds(self, seqid, iprot, oprot):\n    args = getBuddyBlockerIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBuddyBlockerIds_result()\n    try:\n      result.success = self._handler.getBuddyBlockerIds()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBuddyBlockerIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getBuddyLocation(self, seqid, iprot, oprot):\n    args = getBuddyLocation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getBuddyLocation_result()\n    try:\n      result.success = self._handler.getBuddyLocation(args.mid, args.index)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getBuddyLocation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCompactContactsModifiedSince(self, seqid, iprot, oprot):\n    args = getCompactContactsModifiedSince_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCompactContactsModifiedSince_result()\n    try:\n      result.success = self._handler.getCompactContactsModifiedSince(args.timestamp)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCompactContactsModifiedSince\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCompactGroup(self, seqid, iprot, oprot):\n    args = getCompactGroup_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCompactGroup_result()\n    try:\n      result.success = self._handler.getCompactGroup(args.groupId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCompactGroup\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCompactRoom(self, seqid, iprot, oprot):\n    args = getCompactRoom_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCompactRoom_result()\n    try:\n      result.success = self._handler.getCompactRoom(args.roomId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCompactRoom\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getContact(self, seqid, iprot, oprot):\n    args = getContact_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getContact_result()\n    try:\n      result.success = self._handler.getContact(args.id)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getContact\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getContacts(self, seqid, iprot, oprot):\n    args = getContacts_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getContacts_result()\n    try:\n      result.success = self._handler.getContacts(args.ids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getContacts\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getCountryWithRequestIp(self, seqid, iprot, oprot):\n    args = getCountryWithRequestIp_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getCountryWithRequestIp_result()\n    try:\n      result.success = self._handler.getCountryWithRequestIp()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getCountryWithRequestIp\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getFavoriteMids(self, seqid, iprot, oprot):\n    args = getFavoriteMids_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getFavoriteMids_result()\n    try:\n      result.success = self._handler.getFavoriteMids()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getFavoriteMids\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getGroup(self, seqid, iprot, oprot):\n    args = getGroup_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getGroup_result()\n    try:\n      result.success = self._handler.getGroup(args.groupId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getGroup\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getGroupIdsInvited(self, seqid, iprot, oprot):\n    args = getGroupIdsInvited_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getGroupIdsInvited_result()\n    try:\n      result.success = self._handler.getGroupIdsInvited()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getGroupIdsInvited\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getGroupIdsJoined(self, seqid, iprot, oprot):\n    args = getGroupIdsJoined_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getGroupIdsJoined_result()\n    try:\n      result.success = self._handler.getGroupIdsJoined()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getGroupIdsJoined\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getGroups(self, seqid, iprot, oprot):\n    args = getGroups_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getGroups_result()\n    try:\n      result.success = self._handler.getGroups(args.groupIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getGroups\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getHiddenContactMids(self, seqid, iprot, oprot):\n    args = getHiddenContactMids_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getHiddenContactMids_result()\n    try:\n      result.success = self._handler.getHiddenContactMids()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getHiddenContactMids\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getIdentityIdentifier(self, seqid, iprot, oprot):\n    args = getIdentityIdentifier_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getIdentityIdentifier_result()\n    try:\n      result.success = self._handler.getIdentityIdentifier()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getIdentityIdentifier\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getLastAnnouncementIndex(self, seqid, iprot, oprot):\n    args = getLastAnnouncementIndex_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getLastAnnouncementIndex_result()\n    try:\n      result.success = self._handler.getLastAnnouncementIndex()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getLastAnnouncementIndex\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getLastOpRevision(self, seqid, iprot, oprot):\n    args = getLastOpRevision_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getLastOpRevision_result()\n    try:\n      result.success = self._handler.getLastOpRevision()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getLastOpRevision\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMessageBox(self, seqid, iprot, oprot):\n    args = getMessageBox_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMessageBox_result()\n    try:\n      result.success = self._handler.getMessageBox(args.channelId, args.messageBoxId, args.lastMessagesCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMessageBox\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMessageBoxCompactWrapUp(self, seqid, iprot, oprot):\n    args = getMessageBoxCompactWrapUp_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMessageBoxCompactWrapUp_result()\n    try:\n      result.success = self._handler.getMessageBoxCompactWrapUp(args.mid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMessageBoxCompactWrapUp\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMessageBoxCompactWrapUpList(self, seqid, iprot, oprot):\n    args = getMessageBoxCompactWrapUpList_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMessageBoxCompactWrapUpList_result()\n    try:\n      result.success = self._handler.getMessageBoxCompactWrapUpList(args.start, args.messageBoxCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMessageBoxCompactWrapUpList\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMessageBoxList(self, seqid, iprot, oprot):\n    args = getMessageBoxList_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMessageBoxList_result()\n    try:\n      result.success = self._handler.getMessageBoxList(args.channelId, args.lastMessagesCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMessageBoxList\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMessageBoxListByStatus(self, seqid, iprot, oprot):\n    args = getMessageBoxListByStatus_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMessageBoxListByStatus_result()\n    try:\n      result.success = self._handler.getMessageBoxListByStatus(args.channelId, args.lastMessagesCount, args.status)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMessageBoxListByStatus\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMessageBoxWrapUp(self, seqid, iprot, oprot):\n    args = getMessageBoxWrapUp_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMessageBoxWrapUp_result()\n    try:\n      result.success = self._handler.getMessageBoxWrapUp(args.mid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMessageBoxWrapUp\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMessageBoxWrapUpList(self, seqid, iprot, oprot):\n    args = getMessageBoxWrapUpList_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMessageBoxWrapUpList_result()\n    try:\n      result.success = self._handler.getMessageBoxWrapUpList(args.start, args.messageBoxCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMessageBoxWrapUpList\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getMessagesBySequenceNumber(self, seqid, iprot, oprot):\n    args = getMessagesBySequenceNumber_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getMessagesBySequenceNumber_result()\n    try:\n      result.success = self._handler.getMessagesBySequenceNumber(args.channelId, args.messageBoxId, args.startSeq, args.endSeq)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getMessagesBySequenceNumber\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getNextMessages(self, seqid, iprot, oprot):\n    args = getNextMessages_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getNextMessages_result()\n    try:\n      result.success = self._handler.getNextMessages(args.messageBoxId, args.startSeq, args.messagesCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getNextMessages\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getNotificationPolicy(self, seqid, iprot, oprot):\n    args = getNotificationPolicy_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getNotificationPolicy_result()\n    try:\n      result.success = self._handler.getNotificationPolicy(args.carrier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getNotificationPolicy\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getPreviousMessages(self, seqid, iprot, oprot):\n    args = getPreviousMessages_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getPreviousMessages_result()\n    try:\n      result.success = self._handler.getPreviousMessages(args.messageBoxId, args.endSeq, args.messagesCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getPreviousMessages\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getProfile(self, seqid, iprot, oprot):\n    args = getProfile_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getProfile_result()\n    try:\n      result.success = self._handler.getProfile()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getProfile\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getProximityMatchCandidateList(self, seqid, iprot, oprot):\n    args = getProximityMatchCandidateList_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getProximityMatchCandidateList_result()\n    try:\n      result.success = self._handler.getProximityMatchCandidateList(args.sessionId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getProximityMatchCandidateList\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getProximityMatchCandidates(self, seqid, iprot, oprot):\n    args = getProximityMatchCandidates_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getProximityMatchCandidates_result()\n    try:\n      result.success = self._handler.getProximityMatchCandidates(args.sessionId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getProximityMatchCandidates\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getRecentMessages(self, seqid, iprot, oprot):\n    args = getRecentMessages_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getRecentMessages_result()\n    try:\n      result.success = self._handler.getRecentMessages(args.messageBoxId, args.messagesCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getRecentMessages\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getRecommendationIds(self, seqid, iprot, oprot):\n    args = getRecommendationIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getRecommendationIds_result()\n    try:\n      result.success = self._handler.getRecommendationIds()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getRecommendationIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getRoom(self, seqid, iprot, oprot):\n    args = getRoom_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getRoom_result()\n    try:\n      result.success = self._handler.getRoom(args.roomId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getRoom\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getRSAKeyInfo(self, seqid, iprot, oprot):\n    args = getRSAKeyInfo_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getRSAKeyInfo_result()\n    try:\n      result.success = self._handler.getRSAKeyInfo(args.provider)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getRSAKeyInfo\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getServerTime(self, seqid, iprot, oprot):\n    args = getServerTime_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getServerTime_result()\n    try:\n      result.success = self._handler.getServerTime()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getServerTime\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getSessions(self, seqid, iprot, oprot):\n    args = getSessions_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getSessions_result()\n    try:\n      result.success = self._handler.getSessions()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getSessions\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getSettings(self, seqid, iprot, oprot):\n    args = getSettings_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getSettings_result()\n    try:\n      result.success = self._handler.getSettings()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getSettings\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getSettingsAttributes(self, seqid, iprot, oprot):\n    args = getSettingsAttributes_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getSettingsAttributes_result()\n    try:\n      result.success = self._handler.getSettingsAttributes(args.attrBitset)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getSettingsAttributes\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getSystemConfiguration(self, seqid, iprot, oprot):\n    args = getSystemConfiguration_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getSystemConfiguration_result()\n    try:\n      result.success = self._handler.getSystemConfiguration()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getSystemConfiguration\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getUserTicket(self, seqid, iprot, oprot):\n    args = getUserTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getUserTicket_result()\n    try:\n      result.success = self._handler.getUserTicket()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getUserTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_getWapInvitation(self, seqid, iprot, oprot):\n    args = getWapInvitation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = getWapInvitation_result()\n    try:\n      result.success = self._handler.getWapInvitation(args.invitationHash)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"getWapInvitation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_invalidateUserTicket(self, seqid, iprot, oprot):\n    args = invalidateUserTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = invalidateUserTicket_result()\n    try:\n      self._handler.invalidateUserTicket()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"invalidateUserTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_inviteFriendsBySms(self, seqid, iprot, oprot):\n    args = inviteFriendsBySms_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = inviteFriendsBySms_result()\n    try:\n      self._handler.inviteFriendsBySms(args.phoneNumberList)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"inviteFriendsBySms\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_inviteIntoGroup(self, seqid, iprot, oprot):\n    args = inviteIntoGroup_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = inviteIntoGroup_result()\n    try:\n      self._handler.inviteIntoGroup(args.reqSeq, args.groupId, args.contactIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"inviteIntoGroup\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_inviteIntoRoom(self, seqid, iprot, oprot):\n    args = inviteIntoRoom_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = inviteIntoRoom_result()\n    try:\n      self._handler.inviteIntoRoom(args.reqSeq, args.roomId, args.contactIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"inviteIntoRoom\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_inviteViaEmail(self, seqid, iprot, oprot):\n    args = inviteViaEmail_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = inviteViaEmail_result()\n    try:\n      self._handler.inviteViaEmail(args.reqSeq, args.email, args.name)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"inviteViaEmail\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_isIdentityIdentifierAvailable(self, seqid, iprot, oprot):\n    args = isIdentityIdentifierAvailable_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = isIdentityIdentifierAvailable_result()\n    try:\n      result.success = self._handler.isIdentityIdentifierAvailable(args.provider, args.identifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"isIdentityIdentifierAvailable\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_isUseridAvailable(self, seqid, iprot, oprot):\n    args = isUseridAvailable_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = isUseridAvailable_result()\n    try:\n      result.success = self._handler.isUseridAvailable(args.userid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"isUseridAvailable\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_kickoutFromGroup(self, seqid, iprot, oprot):\n    args = kickoutFromGroup_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = kickoutFromGroup_result()\n    try:\n      self._handler.kickoutFromGroup(args.reqSeq, args.groupId, args.contactIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"kickoutFromGroup\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_leaveGroup(self, seqid, iprot, oprot):\n    args = leaveGroup_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = leaveGroup_result()\n    try:\n      self._handler.leaveGroup(args.reqSeq, args.groupId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"leaveGroup\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_leaveRoom(self, seqid, iprot, oprot):\n    args = leaveRoom_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = leaveRoom_result()\n    try:\n      self._handler.leaveRoom(args.reqSeq, args.roomId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"leaveRoom\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_loginWithIdentityCredential(self, seqid, iprot, oprot):\n    args = loginWithIdentityCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = loginWithIdentityCredential_result()\n    try:\n      result.success = self._handler.loginWithIdentityCredential(args.identityProvider, args.identifier, args.password, args.keepLoggedIn, args.accessLocation, args.systemName, args.certificate)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"loginWithIdentityCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_loginWithIdentityCredentialForCertificate(self, seqid, iprot, oprot):\n    args = loginWithIdentityCredentialForCertificate_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = loginWithIdentityCredentialForCertificate_result()\n    try:\n      result.success = self._handler.loginWithIdentityCredentialForCertificate(args.identityProvider, args.identifier, args.password, args.keepLoggedIn, args.accessLocation, args.systemName, args.certificate)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"loginWithIdentityCredentialForCertificate\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_loginWithVerifier(self, seqid, iprot, oprot):\n    args = loginWithVerifier_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = loginWithVerifier_result()\n    try:\n      result.success = self._handler.loginWithVerifier(args.verifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"loginWithVerifier\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_loginWithVerifierForCerificate(self, seqid, iprot, oprot):\n    args = loginWithVerifierForCerificate_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = loginWithVerifierForCerificate_result()\n    try:\n      result.success = self._handler.loginWithVerifierForCerificate(args.verifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"loginWithVerifierForCerificate\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_loginWithVerifierForCertificate(self, seqid, iprot, oprot):\n    args = loginWithVerifierForCertificate_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = loginWithVerifierForCertificate_result()\n    try:\n      result.success = self._handler.loginWithVerifierForCertificate(args.verifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"loginWithVerifierForCertificate\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_logout(self, seqid, iprot, oprot):\n    args = logout_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = logout_result()\n    try:\n      self._handler.logout()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"logout\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_logoutSession(self, seqid, iprot, oprot):\n    args = logoutSession_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = logoutSession_result()\n    try:\n      self._handler.logoutSession(args.tokenKey)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"logoutSession\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_noop(self, seqid, iprot, oprot):\n    args = noop_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = noop_result()\n    try:\n      self._handler.noop()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"noop\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifiedRedirect(self, seqid, iprot, oprot):\n    args = notifiedRedirect_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifiedRedirect_result()\n    try:\n      self._handler.notifiedRedirect(args.paramMap)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifiedRedirect\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifyBuddyOnAir(self, seqid, iprot, oprot):\n    args = notifyBuddyOnAir_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifyBuddyOnAir_result()\n    try:\n      result.success = self._handler.notifyBuddyOnAir(args.seq, args.receiverMids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifyBuddyOnAir\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifyIndividualEvent(self, seqid, iprot, oprot):\n    args = notifyIndividualEvent_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifyIndividualEvent_result()\n    try:\n      self._handler.notifyIndividualEvent(args.notificationStatus, args.receiverMids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifyIndividualEvent\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifyInstalled(self, seqid, iprot, oprot):\n    args = notifyInstalled_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifyInstalled_result()\n    try:\n      self._handler.notifyInstalled(args.udidHash, args.applicationTypeWithExtensions)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifyInstalled\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifyRegistrationComplete(self, seqid, iprot, oprot):\n    args = notifyRegistrationComplete_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifyRegistrationComplete_result()\n    try:\n      self._handler.notifyRegistrationComplete(args.udidHash, args.applicationTypeWithExtensions)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifyRegistrationComplete\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifySleep(self, seqid, iprot, oprot):\n    args = notifySleep_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifySleep_result()\n    try:\n      self._handler.notifySleep(args.lastRev, args.badge)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifySleep\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notifyUpdated(self, seqid, iprot, oprot):\n    args = notifyUpdated_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notifyUpdated_result()\n    try:\n      self._handler.notifyUpdated(args.lastRev, args.deviceInfo)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notifyUpdated\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_openProximityMatch(self, seqid, iprot, oprot):\n    args = openProximityMatch_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = openProximityMatch_result()\n    try:\n      result.success = self._handler.openProximityMatch(args.location)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"openProximityMatch\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerBuddyUser(self, seqid, iprot, oprot):\n    args = registerBuddyUser_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerBuddyUser_result()\n    try:\n      result.success = self._handler.registerBuddyUser(args.buddyId, args.registrarPassword)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerBuddyUser\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerBuddyUserid(self, seqid, iprot, oprot):\n    args = registerBuddyUserid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerBuddyUserid_result()\n    try:\n      self._handler.registerBuddyUserid(args.seq, args.userid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerBuddyUserid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerDevice(self, seqid, iprot, oprot):\n    args = registerDevice_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerDevice_result()\n    try:\n      result.success = self._handler.registerDevice(args.sessionId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerDevice\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerDeviceWithIdentityCredential(self, seqid, iprot, oprot):\n    args = registerDeviceWithIdentityCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerDeviceWithIdentityCredential_result()\n    try:\n      result.success = self._handler.registerDeviceWithIdentityCredential(args.sessionId, args.provider, args.identifier, args.verifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerDeviceWithIdentityCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerDeviceWithoutPhoneNumber(self, seqid, iprot, oprot):\n    args = registerDeviceWithoutPhoneNumber_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerDeviceWithoutPhoneNumber_result()\n    try:\n      result.success = self._handler.registerDeviceWithoutPhoneNumber(args.region, args.udidHash, args.deviceInfo)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerDeviceWithoutPhoneNumber\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerDeviceWithoutPhoneNumberWithIdentityCredential(self, seqid, iprot, oprot):\n    args = registerDeviceWithoutPhoneNumberWithIdentityCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerDeviceWithoutPhoneNumberWithIdentityCredential_result()\n    try:\n      result.success = self._handler.registerDeviceWithoutPhoneNumberWithIdentityCredential(args.region, args.udidHash, args.deviceInfo, args.provider, args.identifier, args.verifier, args.mid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerDeviceWithoutPhoneNumberWithIdentityCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerUserid(self, seqid, iprot, oprot):\n    args = registerUserid_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerUserid_result()\n    try:\n      result.success = self._handler.registerUserid(args.reqSeq, args.userid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerUserid\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerWapDevice(self, seqid, iprot, oprot):\n    args = registerWapDevice_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerWapDevice_result()\n    try:\n      result.success = self._handler.registerWapDevice(args.invitationHash, args.guidHash, args.email, args.deviceInfo)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerWapDevice\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerWithExistingSnsIdAndIdentityCredential(self, seqid, iprot, oprot):\n    args = registerWithExistingSnsIdAndIdentityCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerWithExistingSnsIdAndIdentityCredential_result()\n    try:\n      result.success = self._handler.registerWithExistingSnsIdAndIdentityCredential(args.identityCredential, args.region, args.udidHash, args.deviceInfo)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerWithExistingSnsIdAndIdentityCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerWithSnsId(self, seqid, iprot, oprot):\n    args = registerWithSnsId_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerWithSnsId_result()\n    try:\n      result.success = self._handler.registerWithSnsId(args.snsIdType, args.snsAccessToken, args.region, args.udidHash, args.deviceInfo, args.mid)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerWithSnsId\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_registerWithSnsIdAndIdentityCredential(self, seqid, iprot, oprot):\n    args = registerWithSnsIdAndIdentityCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = registerWithSnsIdAndIdentityCredential_result()\n    try:\n      result.success = self._handler.registerWithSnsIdAndIdentityCredential(args.snsIdType, args.snsAccessToken, args.identityCredential, args.region, args.udidHash, args.deviceInfo)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"registerWithSnsIdAndIdentityCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reissueDeviceCredential(self, seqid, iprot, oprot):\n    args = reissueDeviceCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reissueDeviceCredential_result()\n    try:\n      result.success = self._handler.reissueDeviceCredential()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reissueDeviceCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reissueUserTicket(self, seqid, iprot, oprot):\n    args = reissueUserTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reissueUserTicket_result()\n    try:\n      result.success = self._handler.reissueUserTicket(args.expirationTime, args.maxUseCount)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reissueUserTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reissueGroupTicket(self, seqid, iprot, oprot):\n    args = reissueGroupTicket_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reissueGroupTicket_result()\n    try:\n      result.success = self._handler.reissueGroupTicket(args.groupId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reissueGroupTicket\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n\n  def process_rejectGroupInvitation(self, seqid, iprot, oprot):\n    args = rejectGroupInvitation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = rejectGroupInvitation_result()\n    try:\n      self._handler.rejectGroupInvitation(args.reqSeq, args.groupId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"rejectGroupInvitation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_releaseSession(self, seqid, iprot, oprot):\n    args = releaseSession_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = releaseSession_result()\n    try:\n      self._handler.releaseSession()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"releaseSession\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_removeAllMessages(self, seqid, iprot, oprot):\n    args = removeAllMessages_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = removeAllMessages_result()\n    try:\n      self._handler.removeAllMessages(args.seq, args.lastMessageId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"removeAllMessages\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_removeBuddyLocation(self, seqid, iprot, oprot):\n    args = removeBuddyLocation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = removeBuddyLocation_result()\n    try:\n      self._handler.removeBuddyLocation(args.mid, args.index)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"removeBuddyLocation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_removeMessage(self, seqid, iprot, oprot):\n    args = removeMessage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = removeMessage_result()\n    try:\n      result.success = self._handler.removeMessage(args.messageId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"removeMessage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_removeMessageFromMyHome(self, seqid, iprot, oprot):\n    args = removeMessageFromMyHome_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = removeMessageFromMyHome_result()\n    try:\n      result.success = self._handler.removeMessageFromMyHome(args.messageId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"removeMessageFromMyHome\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_removeSnsId(self, seqid, iprot, oprot):\n    args = removeSnsId_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = removeSnsId_result()\n    try:\n      result.success = self._handler.removeSnsId(args.snsIdType)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"removeSnsId\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_report(self, seqid, iprot, oprot):\n    args = report_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = report_result()\n    try:\n      self._handler.report(args.syncOpRevision, args.category, args.report)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"report\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reportContacts(self, seqid, iprot, oprot):\n    args = reportContacts_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reportContacts_result()\n    try:\n      result.success = self._handler.reportContacts(args.syncOpRevision, args.category, args.contactReports, args.actionType)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reportContacts\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reportGroups(self, seqid, iprot, oprot):\n    args = reportGroups_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reportGroups_result()\n    try:\n      self._handler.reportGroups(args.syncOpRevision, args.groups)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reportGroups\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reportProfile(self, seqid, iprot, oprot):\n    args = reportProfile_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reportProfile_result()\n    try:\n      self._handler.reportProfile(args.syncOpRevision, args.profile)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reportProfile\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reportRooms(self, seqid, iprot, oprot):\n    args = reportRooms_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reportRooms_result()\n    try:\n      self._handler.reportRooms(args.syncOpRevision, args.rooms)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reportRooms\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reportSettings(self, seqid, iprot, oprot):\n    args = reportSettings_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reportSettings_result()\n    try:\n      self._handler.reportSettings(args.syncOpRevision, args.settings)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reportSettings\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_reportSpammer(self, seqid, iprot, oprot):\n    args = reportSpammer_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = reportSpammer_result()\n    try:\n      self._handler.reportSpammer(args.spammerMid, args.spammerReasons, args.spamMessageIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"reportSpammer\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_requestAccountPasswordReset(self, seqid, iprot, oprot):\n    args = requestAccountPasswordReset_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = requestAccountPasswordReset_result()\n    try:\n      self._handler.requestAccountPasswordReset(args.provider, args.identifier, args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"requestAccountPasswordReset\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_requestEmailConfirmation(self, seqid, iprot, oprot):\n    args = requestEmailConfirmation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = requestEmailConfirmation_result()\n    try:\n      result.success = self._handler.requestEmailConfirmation(args.emailConfirmation)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"requestEmailConfirmation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_requestIdentityUnbind(self, seqid, iprot, oprot):\n    args = requestIdentityUnbind_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = requestIdentityUnbind_result()\n    try:\n      self._handler.requestIdentityUnbind(args.provider, args.identifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"requestIdentityUnbind\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_resendEmailConfirmation(self, seqid, iprot, oprot):\n    args = resendEmailConfirmation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = resendEmailConfirmation_result()\n    try:\n      result.success = self._handler.resendEmailConfirmation(args.verifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"resendEmailConfirmation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_resendPinCode(self, seqid, iprot, oprot):\n    args = resendPinCode_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = resendPinCode_result()\n    try:\n      self._handler.resendPinCode(args.sessionId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"resendPinCode\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_resendPinCodeBySMS(self, seqid, iprot, oprot):\n    args = resendPinCodeBySMS_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = resendPinCodeBySMS_result()\n    try:\n      self._handler.resendPinCodeBySMS(args.sessionId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"resendPinCodeBySMS\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendChatChecked(self, seqid, iprot, oprot):\n    args = sendChatChecked_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendChatChecked_result()\n    try:\n      self._handler.sendChatChecked(args.seq, args.consumer, args.lastMessageId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendChatChecked\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendChatRemoved(self, seqid, iprot, oprot):\n    args = sendChatRemoved_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendChatRemoved_result()\n    try:\n      self._handler.sendChatRemoved(args.seq, args.consumer, args.lastMessageId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendChatRemoved\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendContentPreviewUpdated(self, seqid, iprot, oprot):\n    args = sendContentPreviewUpdated_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendContentPreviewUpdated_result()\n    try:\n      result.success = self._handler.sendContentPreviewUpdated(args.esq, args.messageId, args.receiverMids)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendContentPreviewUpdated\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendContentReceipt(self, seqid, iprot, oprot):\n    args = sendContentReceipt_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendContentReceipt_result()\n    try:\n      self._handler.sendContentReceipt(args.seq, args.consumer, args.messageId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendContentReceipt\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendDummyPush(self, seqid, iprot, oprot):\n    args = sendDummyPush_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendDummyPush_result()\n    try:\n      self._handler.sendDummyPush()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendDummyPush\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendEvent(self, seqid, iprot, oprot):\n    args = sendEvent_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendEvent_result()\n    try:\n      result.success = self._handler.sendEvent(args.seq, args.message)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendEvent\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendMessage(self, seqid, iprot, oprot):\n    args = sendMessage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendMessage_result()\n    try:\n      result.success = self._handler.sendMessage(args.seq, args.message)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendMessage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendMessageIgnored(self, seqid, iprot, oprot):\n    args = sendMessageIgnored_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendMessageIgnored_result()\n    try:\n      self._handler.sendMessageIgnored(args.seq, args.consumer, args.messageIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendMessageIgnored\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendMessageReceipt(self, seqid, iprot, oprot):\n    args = sendMessageReceipt_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendMessageReceipt_result()\n    try:\n      self._handler.sendMessageReceipt(args.seq, args.consumer, args.messageIds)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendMessageReceipt\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_sendMessageToMyHome(self, seqid, iprot, oprot):\n    args = sendMessageToMyHome_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = sendMessageToMyHome_result()\n    try:\n      result.success = self._handler.sendMessageToMyHome(args.seq, args.message)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"sendMessageToMyHome\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_setBuddyLocation(self, seqid, iprot, oprot):\n    args = setBuddyLocation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = setBuddyLocation_result()\n    try:\n      self._handler.setBuddyLocation(args.mid, args.index, args.location)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"setBuddyLocation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_setIdentityCredential(self, seqid, iprot, oprot):\n    args = setIdentityCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = setIdentityCredential_result()\n    try:\n      self._handler.setIdentityCredential(args.provider, args.identifier, args.verifier)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"setIdentityCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_setNotificationsEnabled(self, seqid, iprot, oprot):\n    args = setNotificationsEnabled_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = setNotificationsEnabled_result()\n    try:\n      self._handler.setNotificationsEnabled(args.reqSeq, args.type, args.target, args.enablement)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"setNotificationsEnabled\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_startUpdateVerification(self, seqid, iprot, oprot):\n    args = startUpdateVerification_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = startUpdateVerification_result()\n    try:\n      result.success = self._handler.startUpdateVerification(args.region, args.carrier, args.phone, args.udidHash, args.deviceInfo, args.networkCode, args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"startUpdateVerification\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_startVerification(self, seqid, iprot, oprot):\n    args = startVerification_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = startVerification_result()\n    try:\n      result.success = self._handler.startVerification(args.region, args.carrier, args.phone, args.udidHash, args.deviceInfo, args.networkCode, args.mid, args.locale)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"startVerification\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_storeUpdateProfileAttribute(self, seqid, iprot, oprot):\n    args = storeUpdateProfileAttribute_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = storeUpdateProfileAttribute_result()\n    try:\n      self._handler.storeUpdateProfileAttribute(args.seq, args.profileAttribute, args.value)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"storeUpdateProfileAttribute\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_syncContactBySnsIds(self, seqid, iprot, oprot):\n    args = syncContactBySnsIds_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = syncContactBySnsIds_result()\n    try:\n      result.success = self._handler.syncContactBySnsIds(args.reqSeq, args.modifications)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"syncContactBySnsIds\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_syncContacts(self, seqid, iprot, oprot):\n    args = syncContacts_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = syncContacts_result()\n    try:\n      result.success = self._handler.syncContacts(args.reqSeq, args.localContacts)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"syncContacts\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_trySendMessage(self, seqid, iprot, oprot):\n    args = trySendMessage_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = trySendMessage_result()\n    try:\n      result.success = self._handler.trySendMessage(args.seq, args.message)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"trySendMessage\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_unblockContact(self, seqid, iprot, oprot):\n    args = unblockContact_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = unblockContact_result()\n    try:\n      self._handler.unblockContact(args.reqSeq, args.id)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"unblockContact\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_unblockRecommendation(self, seqid, iprot, oprot):\n    args = unblockRecommendation_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = unblockRecommendation_result()\n    try:\n      self._handler.unblockRecommendation(args.reqSeq, args.id)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"unblockRecommendation\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_unregisterUserAndDevice(self, seqid, iprot, oprot):\n    args = unregisterUserAndDevice_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = unregisterUserAndDevice_result()\n    try:\n      result.success = self._handler.unregisterUserAndDevice()\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"unregisterUserAndDevice\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateApnsDeviceToken(self, seqid, iprot, oprot):\n    args = updateApnsDeviceToken_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateApnsDeviceToken_result()\n    try:\n      self._handler.updateApnsDeviceToken(args.apnsDeviceToken)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateApnsDeviceToken\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateBuddySetting(self, seqid, iprot, oprot):\n    args = updateBuddySetting_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateBuddySetting_result()\n    try:\n      self._handler.updateBuddySetting(args.key, args.value)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateBuddySetting\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateC2DMRegistrationId(self, seqid, iprot, oprot):\n    args = updateC2DMRegistrationId_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateC2DMRegistrationId_result()\n    try:\n      self._handler.updateC2DMRegistrationId(args.registrationId)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateC2DMRegistrationId\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateContactSetting(self, seqid, iprot, oprot):\n    args = updateContactSetting_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateContactSetting_result()\n    try:\n      self._handler.updateContactSetting(args.reqSeq, args.mid, args.flag, args.value)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateContactSetting\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateCustomModeSettings(self, seqid, iprot, oprot):\n    args = updateCustomModeSettings_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateCustomModeSettings_result()\n    try:\n      self._handler.updateCustomModeSettings(args.customMode, args.paramMap)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateCustomModeSettings\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateDeviceInfo(self, seqid, iprot, oprot):\n    args = updateDeviceInfo_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateDeviceInfo_result()\n    try:\n      self._handler.updateDeviceInfo(args.deviceUid, args.deviceInfo)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateDeviceInfo\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateGroup(self, seqid, iprot, oprot):\n    args = updateGroup_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateGroup_result()\n    try:\n      self._handler.updateGroup(args.reqSeq, args.group)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateGroup\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateNotificationToken(self, seqid, iprot, oprot):\n    args = updateNotificationToken_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateNotificationToken_result()\n    try:\n      self._handler.updateNotificationToken(args.type, args.token)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateNotificationToken\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateNotificationTokenWithBytes(self, seqid, iprot, oprot):\n    args = updateNotificationTokenWithBytes_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateNotificationTokenWithBytes_result()\n    try:\n      self._handler.updateNotificationTokenWithBytes(args.type, args.token)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateNotificationTokenWithBytes\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateProfile(self, seqid, iprot, oprot):\n    args = updateProfile_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateProfile_result()\n    try:\n      self._handler.updateProfile(args.reqSeq, args.profile)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateProfile\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateProfileAttribute(self, seqid, iprot, oprot):\n    args = updateProfileAttribute_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateProfileAttribute_result()\n    try:\n      self._handler.updateProfileAttribute(args.reqSeq, args.attr, args.value)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateProfileAttribute\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateRegion(self, seqid, iprot, oprot):\n    args = updateRegion_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateRegion_result()\n    try:\n      self._handler.updateRegion(args.region)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateRegion\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateSettings(self, seqid, iprot, oprot):\n    args = updateSettings_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateSettings_result()\n    try:\n      self._handler.updateSettings(args.reqSeq, args.settings)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateSettings\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateSettings2(self, seqid, iprot, oprot):\n    args = updateSettings2_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateSettings2_result()\n    try:\n      result.success = self._handler.updateSettings2(args.reqSeq, args.settings)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateSettings2\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateSettingsAttribute(self, seqid, iprot, oprot):\n    args = updateSettingsAttribute_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateSettingsAttribute_result()\n    try:\n      self._handler.updateSettingsAttribute(args.reqSeq, args.attr, args.value)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateSettingsAttribute\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_updateSettingsAttributes(self, seqid, iprot, oprot):\n    args = updateSettingsAttributes_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = updateSettingsAttributes_result()\n    try:\n      result.success = self._handler.updateSettingsAttributes(args.reqSeq, args.attrBitset, args.settings)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"updateSettingsAttributes\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_verifyIdentityCredential(self, seqid, iprot, oprot):\n    args = verifyIdentityCredential_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = verifyIdentityCredential_result()\n    try:\n      self._handler.verifyIdentityCredential(args.identityProvider, args.identifier, args.password)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"verifyIdentityCredential\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_verifyIdentityCredentialWithResult(self, seqid, iprot, oprot):\n    args = verifyIdentityCredentialWithResult_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = verifyIdentityCredentialWithResult_result()\n    try:\n      result.success = self._handler.verifyIdentityCredentialWithResult(args.identityCredential)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"verifyIdentityCredentialWithResult\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_verifyPhone(self, seqid, iprot, oprot):\n    args = verifyPhone_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = verifyPhone_result()\n    try:\n      result.success = self._handler.verifyPhone(args.sessionId, args.pinCode, args.udidHash)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"verifyPhone\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_verifyQrcode(self, seqid, iprot, oprot):\n    args = verifyQrcode_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = verifyQrcode_result()\n    try:\n      result.success = self._handler.verifyQrcode(args.verifier, args.pinCode)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except TalkException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"verifyQrcode\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n  def process_notify(self, seqid, iprot, oprot):\n    args = notify_args()\n    args.read(iprot)\n    iprot.readMessageEnd()\n    result = notify_result()\n    try:\n      self._handler.notify(args.event)\n      msg_type = TMessageType.REPLY\n    except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):\n      raise\n    except UniversalNotificationServiceException as e:\n      msg_type = TMessageType.REPLY\n      result.e = e\n    except Exception as ex:\n      msg_type = TMessageType.EXCEPTION\n      logging.exception(ex)\n      result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')\n    oprot.writeMessageBegin(\"notify\", msg_type, seqid)\n    result.write(oprot)\n    oprot.writeMessageEnd()\n    oprot.trans.flush()\n\n\n# HELPER FUNCTIONS AND STRUCTURES\n\nclass getRSAKey_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRSAKey_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getRSAKey_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (RSAKey, RSAKey.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = RSAKey()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRSAKey_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyEmailConfirmationResult_args:\n  \"\"\"\n  Attributes:\n   - parameterMap\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.MAP, 'parameterMap', (TType.STRING,None,TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, parameterMap=None,):\n    self.parameterMap = parameterMap\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.MAP:\n          self.parameterMap = {}\n          (_ktype333, _vtype334, _size332 ) = iprot.readMapBegin()\n          for _i336 in xrange(_size332):\n            _key337 = iprot.readString()\n            _val338 = iprot.readString()\n            self.parameterMap[_key337] = _val338\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyEmailConfirmationResult_args')\n    if self.parameterMap is not None:\n      oprot.writeFieldBegin('parameterMap', TType.MAP, 2)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.parameterMap))\n      for kiter339,viter340 in self.parameterMap.items():\n        oprot.writeString(kiter339)\n        oprot.writeString(viter340)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.parameterMap)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyEmailConfirmationResult_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyEmailConfirmationResult_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerVirtualAccount_args:\n  \"\"\"\n  Attributes:\n   - locale\n   - encryptedVirtualUserId\n   - encryptedPassword\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'locale', None, None, ), # 2\n    (3, TType.STRING, 'encryptedVirtualUserId', None, None, ), # 3\n    (4, TType.STRING, 'encryptedPassword', None, None, ), # 4\n  )\n\n  def __init__(self, locale=None, encryptedVirtualUserId=None, encryptedPassword=None,):\n    self.locale = locale\n    self.encryptedVirtualUserId = encryptedVirtualUserId\n    self.encryptedPassword = encryptedPassword\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.encryptedVirtualUserId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.encryptedPassword = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerVirtualAccount_args')\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 2)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    if self.encryptedVirtualUserId is not None:\n      oprot.writeFieldBegin('encryptedVirtualUserId', TType.STRING, 3)\n      oprot.writeString(self.encryptedVirtualUserId)\n      oprot.writeFieldEnd()\n    if self.encryptedPassword is not None:\n      oprot.writeFieldBegin('encryptedPassword', TType.STRING, 4)\n      oprot.writeString(self.encryptedPassword)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.locale)\n    value = (value * 31) ^ hash(self.encryptedVirtualUserId)\n    value = (value * 31) ^ hash(self.encryptedPassword)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerVirtualAccount_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerVirtualAccount_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestVirtualAccountPasswordChange_args:\n  \"\"\"\n  Attributes:\n   - virtualMid\n   - encryptedVirtualUserId\n   - encryptedOldPassword\n   - encryptedNewPassword\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'virtualMid', None, None, ), # 2\n    (3, TType.STRING, 'encryptedVirtualUserId', None, None, ), # 3\n    (4, TType.STRING, 'encryptedOldPassword', None, None, ), # 4\n    (5, TType.STRING, 'encryptedNewPassword', None, None, ), # 5\n  )\n\n  def __init__(self, virtualMid=None, encryptedVirtualUserId=None, encryptedOldPassword=None, encryptedNewPassword=None,):\n    self.virtualMid = virtualMid\n    self.encryptedVirtualUserId = encryptedVirtualUserId\n    self.encryptedOldPassword = encryptedOldPassword\n    self.encryptedNewPassword = encryptedNewPassword\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.virtualMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.encryptedVirtualUserId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.encryptedOldPassword = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.encryptedNewPassword = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestVirtualAccountPasswordChange_args')\n    if self.virtualMid is not None:\n      oprot.writeFieldBegin('virtualMid', TType.STRING, 2)\n      oprot.writeString(self.virtualMid)\n      oprot.writeFieldEnd()\n    if self.encryptedVirtualUserId is not None:\n      oprot.writeFieldBegin('encryptedVirtualUserId', TType.STRING, 3)\n      oprot.writeString(self.encryptedVirtualUserId)\n      oprot.writeFieldEnd()\n    if self.encryptedOldPassword is not None:\n      oprot.writeFieldBegin('encryptedOldPassword', TType.STRING, 4)\n      oprot.writeString(self.encryptedOldPassword)\n      oprot.writeFieldEnd()\n    if self.encryptedNewPassword is not None:\n      oprot.writeFieldBegin('encryptedNewPassword', TType.STRING, 5)\n      oprot.writeString(self.encryptedNewPassword)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.virtualMid)\n    value = (value * 31) ^ hash(self.encryptedVirtualUserId)\n    value = (value * 31) ^ hash(self.encryptedOldPassword)\n    value = (value * 31) ^ hash(self.encryptedNewPassword)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestVirtualAccountPasswordChange_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestVirtualAccountPasswordChange_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestVirtualAccountPasswordSet_args:\n  \"\"\"\n  Attributes:\n   - virtualMid\n   - encryptedVirtualUserId\n   - encryptedNewPassword\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'virtualMid', None, None, ), # 2\n    (3, TType.STRING, 'encryptedVirtualUserId', None, None, ), # 3\n    (4, TType.STRING, 'encryptedNewPassword', None, None, ), # 4\n  )\n\n  def __init__(self, virtualMid=None, encryptedVirtualUserId=None, encryptedNewPassword=None,):\n    self.virtualMid = virtualMid\n    self.encryptedVirtualUserId = encryptedVirtualUserId\n    self.encryptedNewPassword = encryptedNewPassword\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.virtualMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.encryptedVirtualUserId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.encryptedNewPassword = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestVirtualAccountPasswordSet_args')\n    if self.virtualMid is not None:\n      oprot.writeFieldBegin('virtualMid', TType.STRING, 2)\n      oprot.writeString(self.virtualMid)\n      oprot.writeFieldEnd()\n    if self.encryptedVirtualUserId is not None:\n      oprot.writeFieldBegin('encryptedVirtualUserId', TType.STRING, 3)\n      oprot.writeString(self.encryptedVirtualUserId)\n      oprot.writeFieldEnd()\n    if self.encryptedNewPassword is not None:\n      oprot.writeFieldBegin('encryptedNewPassword', TType.STRING, 4)\n      oprot.writeString(self.encryptedNewPassword)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.virtualMid)\n    value = (value * 31) ^ hash(self.encryptedVirtualUserId)\n    value = (value * 31) ^ hash(self.encryptedNewPassword)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestVirtualAccountPasswordSet_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestVirtualAccountPasswordSet_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unregisterVirtualAccount_args:\n  \"\"\"\n  Attributes:\n   - virtualMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'virtualMid', None, None, ), # 2\n  )\n\n  def __init__(self, virtualMid=None,):\n    self.virtualMid = virtualMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.virtualMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unregisterVirtualAccount_args')\n    if self.virtualMid is not None:\n      oprot.writeFieldBegin('virtualMid', TType.STRING, 2)\n      oprot.writeString(self.virtualMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.virtualMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unregisterVirtualAccount_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unregisterVirtualAccount_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass checkUserAge_args:\n  \"\"\"\n  Attributes:\n   - carrier\n   - sessionId\n   - verifier\n   - standardAge\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'carrier', None, None, ), # 2\n    (3, TType.STRING, 'sessionId', None, None, ), # 3\n    (4, TType.STRING, 'verifier', None, None, ), # 4\n    (5, TType.I32, 'standardAge', None, None, ), # 5\n  )\n\n  def __init__(self, carrier=None, sessionId=None, verifier=None, standardAge=None,):\n    self.carrier = carrier\n    self.sessionId = sessionId\n    self.verifier = verifier\n    self.standardAge = standardAge\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.carrier = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.standardAge = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('checkUserAge_args')\n    if self.carrier is not None:\n      oprot.writeFieldBegin('carrier', TType.I32, 2)\n      oprot.writeI32(self.carrier)\n      oprot.writeFieldEnd()\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 3)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 4)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    if self.standardAge is not None:\n      oprot.writeFieldBegin('standardAge', TType.I32, 5)\n      oprot.writeI32(self.standardAge)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.carrier)\n    value = (value * 31) ^ hash(self.sessionId)\n    value = (value * 31) ^ hash(self.verifier)\n    value = (value * 31) ^ hash(self.standardAge)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass checkUserAge_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I32, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I32:\n          self.success = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('checkUserAge_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I32, 0)\n      oprot.writeI32(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass checkUserAgeWithDocomo_args:\n  \"\"\"\n  Attributes:\n   - openIdRedirectUrl\n   - standardAge\n   - verifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'openIdRedirectUrl', None, None, ), # 2\n    (3, TType.I32, 'standardAge', None, None, ), # 3\n    (4, TType.STRING, 'verifier', None, None, ), # 4\n  )\n\n  def __init__(self, openIdRedirectUrl=None, standardAge=None, verifier=None,):\n    self.openIdRedirectUrl = openIdRedirectUrl\n    self.standardAge = standardAge\n    self.verifier = verifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.openIdRedirectUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.standardAge = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('checkUserAgeWithDocomo_args')\n    if self.openIdRedirectUrl is not None:\n      oprot.writeFieldBegin('openIdRedirectUrl', TType.STRING, 2)\n      oprot.writeString(self.openIdRedirectUrl)\n      oprot.writeFieldEnd()\n    if self.standardAge is not None:\n      oprot.writeFieldBegin('standardAge', TType.I32, 3)\n      oprot.writeI32(self.standardAge)\n      oprot.writeFieldEnd()\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 4)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.openIdRedirectUrl)\n    value = (value * 31) ^ hash(self.standardAge)\n    value = (value * 31) ^ hash(self.verifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass checkUserAgeWithDocomo_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (AgeCheckDocomoResult, AgeCheckDocomoResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = AgeCheckDocomoResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('checkUserAgeWithDocomo_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass retrieveOpenIdAuthUrlWithDocomo_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('retrieveOpenIdAuthUrlWithDocomo_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass retrieveOpenIdAuthUrlWithDocomo_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('retrieveOpenIdAuthUrlWithDocomo_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass retrieveRequestToken_args:\n  \"\"\"\n  Attributes:\n   - carrier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'carrier', None, None, ), # 2\n  )\n\n  def __init__(self, carrier=None,):\n    self.carrier = carrier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.carrier = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('retrieveRequestToken_args')\n    if self.carrier is not None:\n      oprot.writeFieldBegin('carrier', TType.I32, 2)\n      oprot.writeI32(self.carrier)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.carrier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass retrieveRequestToken_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (AgeCheckRequestResult, AgeCheckRequestResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = AgeCheckRequestResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('retrieveRequestToken_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass addBuddyMember_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - userMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'userMid', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, userMid=None,):\n    self.requestId = requestId\n    self.userMid = userMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.userMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('addBuddyMember_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.userMid is not None:\n      oprot.writeFieldBegin('userMid', TType.STRING, 2)\n      oprot.writeString(self.userMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.userMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass addBuddyMember_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('addBuddyMember_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass addBuddyMembers_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - userMids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.LIST, 'userMids', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, requestId=None, userMids=None,):\n    self.requestId = requestId\n    self.userMids = userMids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.userMids = []\n          (_etype344, _size341) = iprot.readListBegin()\n          for _i345 in xrange(_size341):\n            _elem346 = iprot.readString()\n            self.userMids.append(_elem346)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('addBuddyMembers_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.userMids is not None:\n      oprot.writeFieldBegin('userMids', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.userMids))\n      for iter347 in self.userMids:\n        oprot.writeString(iter347)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.userMids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass addBuddyMembers_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('addBuddyMembers_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass blockBuddyMember_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - mid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, mid=None,):\n    self.requestId = requestId\n    self.mid = mid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('blockBuddyMember_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.mid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass blockBuddyMember_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('blockBuddyMember_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitSendMessagesToAll_args:\n  \"\"\"\n  Attributes:\n   - requestIdList\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'requestIdList', (TType.STRING,None), None, ), # 1\n  )\n\n  def __init__(self, requestIdList=None,):\n    self.requestIdList = requestIdList\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.requestIdList = []\n          (_etype351, _size348) = iprot.readListBegin()\n          for _i352 in xrange(_size348):\n            _elem353 = iprot.readString()\n            self.requestIdList.append(_elem353)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitSendMessagesToAll_args')\n    if self.requestIdList is not None:\n      oprot.writeFieldBegin('requestIdList', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRING, len(self.requestIdList))\n      for iter354 in self.requestIdList:\n        oprot.writeString(iter354)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestIdList)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitSendMessagesToAll_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(SendBuddyMessageResult, SendBuddyMessageResult.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype358, _size355) = iprot.readListBegin()\n          for _i359 in xrange(_size355):\n            _elem360 = SendBuddyMessageResult()\n            _elem360.read(iprot)\n            self.success.append(_elem360)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitSendMessagesToAll_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter361 in self.success:\n        iter361.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitSendMessagesTomids_args:\n  \"\"\"\n  Attributes:\n   - requestIdList\n   - mids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'requestIdList', (TType.STRING,None), None, ), # 1\n    (2, TType.LIST, 'mids', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, requestIdList=None, mids=None,):\n    self.requestIdList = requestIdList\n    self.mids = mids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.requestIdList = []\n          (_etype365, _size362) = iprot.readListBegin()\n          for _i366 in xrange(_size362):\n            _elem367 = iprot.readString()\n            self.requestIdList.append(_elem367)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.mids = []\n          (_etype371, _size368) = iprot.readListBegin()\n          for _i372 in xrange(_size368):\n            _elem373 = iprot.readString()\n            self.mids.append(_elem373)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitSendMessagesTomids_args')\n    if self.requestIdList is not None:\n      oprot.writeFieldBegin('requestIdList', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRING, len(self.requestIdList))\n      for iter374 in self.requestIdList:\n        oprot.writeString(iter374)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.mids is not None:\n      oprot.writeFieldBegin('mids', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.mids))\n      for iter375 in self.mids:\n        oprot.writeString(iter375)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestIdList)\n    value = (value * 31) ^ hash(self.mids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitSendMessagesTomids_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(SendBuddyMessageResult, SendBuddyMessageResult.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype379, _size376) = iprot.readListBegin()\n          for _i380 in xrange(_size376):\n            _elem381 = SendBuddyMessageResult()\n            _elem381.read(iprot)\n            self.success.append(_elem381)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitSendMessagesTomids_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter382 in self.success:\n        iter382.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass containsBuddyMember_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - userMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'userMid', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, userMid=None,):\n    self.requestId = requestId\n    self.userMid = userMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.userMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('containsBuddyMember_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.userMid is not None:\n      oprot.writeFieldBegin('userMid', TType.STRING, 2)\n      oprot.writeString(self.userMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.userMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass containsBuddyMember_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.BOOL, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.BOOL:\n          self.success = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('containsBuddyMember_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.BOOL, 0)\n      oprot.writeBool(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass downloadMessageContent_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - messageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'messageId', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, messageId=None,):\n    self.requestId = requestId\n    self.messageId = messageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.messageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('downloadMessageContent_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.messageId is not None:\n      oprot.writeFieldBegin('messageId', TType.STRING, 2)\n      oprot.writeString(self.messageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.messageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass downloadMessageContent_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('downloadMessageContent_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass downloadMessageContentPreview_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - messageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'messageId', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, messageId=None,):\n    self.requestId = requestId\n    self.messageId = messageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.messageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('downloadMessageContentPreview_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.messageId is not None:\n      oprot.writeFieldBegin('messageId', TType.STRING, 2)\n      oprot.writeString(self.messageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.messageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass downloadMessageContentPreview_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('downloadMessageContentPreview_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass downloadProfileImage_args:\n  \"\"\"\n  Attributes:\n   - requestId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n  )\n\n  def __init__(self, requestId=None,):\n    self.requestId = requestId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('downloadProfileImage_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass downloadProfileImage_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('downloadProfileImage_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass downloadProfileImagePreview_args:\n  \"\"\"\n  Attributes:\n   - requestId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n  )\n\n  def __init__(self, requestId=None,):\n    self.requestId = requestId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('downloadProfileImagePreview_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass downloadProfileImagePreview_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('downloadProfileImagePreview_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActiveMemberCountByBuddyMid_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'buddyMid', None, None, ), # 2\n  )\n\n  def __init__(self, buddyMid=None,):\n    self.buddyMid = buddyMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActiveMemberCountByBuddyMid_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 2)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActiveMemberCountByBuddyMid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I64, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I64:\n          self.success = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActiveMemberCountByBuddyMid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I64, 0)\n      oprot.writeI64(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActiveMemberMidsByBuddyMid_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'buddyMid', None, None, ), # 2\n  )\n\n  def __init__(self, buddyMid=None,):\n    self.buddyMid = buddyMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActiveMemberMidsByBuddyMid_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 2)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActiveMemberMidsByBuddyMid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype386, _size383) = iprot.readListBegin()\n          for _i387 in xrange(_size383):\n            _elem388 = iprot.readString()\n            self.success.append(_elem388)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActiveMemberMidsByBuddyMid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter389 in self.success:\n        oprot.writeString(iter389)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAllBuddyMembers_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAllBuddyMembers_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAllBuddyMembers_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype393, _size390) = iprot.readListBegin()\n          for _i394 in xrange(_size390):\n            _elem395 = iprot.readString()\n            self.success.append(_elem395)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAllBuddyMembers_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter396 in self.success:\n        oprot.writeString(iter396)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockedBuddyMembers_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockedBuddyMembers_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockedBuddyMembers_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype400, _size397) = iprot.readListBegin()\n          for _i401 in xrange(_size397):\n            _elem402 = iprot.readString()\n            self.success.append(_elem402)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockedBuddyMembers_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter403 in self.success:\n        oprot.writeString(iter403)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockerCountByBuddyMid_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'buddyMid', None, None, ), # 2\n  )\n\n  def __init__(self, buddyMid=None,):\n    self.buddyMid = buddyMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockerCountByBuddyMid_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 2)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockerCountByBuddyMid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I64, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I64:\n          self.success = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockerCountByBuddyMid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I64, 0)\n      oprot.writeI64(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyDetailByMid_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'buddyMid', None, None, ), # 2\n  )\n\n  def __init__(self, buddyMid=None,):\n    self.buddyMid = buddyMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyDetailByMid_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 2)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyDetailByMid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (BuddyDetail, BuddyDetail.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = BuddyDetail()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyDetailByMid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyProfile_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyProfile_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyProfile_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (BuddyProfile, BuddyProfile.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = BuddyProfile()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyProfile_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getContactTicket_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getContactTicket_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getContactTicket_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Ticket, Ticket.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Ticket()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getContactTicket_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMemberCountByBuddyMid_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'buddyMid', None, None, ), # 2\n  )\n\n  def __init__(self, buddyMid=None,):\n    self.buddyMid = buddyMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMemberCountByBuddyMid_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 2)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMemberCountByBuddyMid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I64, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I64:\n          self.success = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMemberCountByBuddyMid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I64, 0)\n      oprot.writeI64(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSendBuddyMessageResult_args:\n  \"\"\"\n  Attributes:\n   - sendBuddyMessageRequestId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'sendBuddyMessageRequestId', None, None, ), # 1\n  )\n\n  def __init__(self, sendBuddyMessageRequestId=None,):\n    self.sendBuddyMessageRequestId = sendBuddyMessageRequestId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.sendBuddyMessageRequestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSendBuddyMessageResult_args')\n    if self.sendBuddyMessageRequestId is not None:\n      oprot.writeFieldBegin('sendBuddyMessageRequestId', TType.STRING, 1)\n      oprot.writeString(self.sendBuddyMessageRequestId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sendBuddyMessageRequestId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSendBuddyMessageResult_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SendBuddyMessageResult, SendBuddyMessageResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SendBuddyMessageResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSendBuddyMessageResult_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSetBuddyOnAirResult_args:\n  \"\"\"\n  Attributes:\n   - setBuddyOnAirRequestId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'setBuddyOnAirRequestId', None, None, ), # 1\n  )\n\n  def __init__(self, setBuddyOnAirRequestId=None,):\n    self.setBuddyOnAirRequestId = setBuddyOnAirRequestId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.setBuddyOnAirRequestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSetBuddyOnAirResult_args')\n    if self.setBuddyOnAirRequestId is not None:\n      oprot.writeFieldBegin('setBuddyOnAirRequestId', TType.STRING, 1)\n      oprot.writeString(self.setBuddyOnAirRequestId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.setBuddyOnAirRequestId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSetBuddyOnAirResult_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SetBuddyOnAirResult, SetBuddyOnAirResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SetBuddyOnAirResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSetBuddyOnAirResult_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUpdateBuddyProfileResult_args:\n  \"\"\"\n  Attributes:\n   - updateBuddyProfileRequestId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'updateBuddyProfileRequestId', None, None, ), # 1\n  )\n\n  def __init__(self, updateBuddyProfileRequestId=None,):\n    self.updateBuddyProfileRequestId = updateBuddyProfileRequestId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.updateBuddyProfileRequestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUpdateBuddyProfileResult_args')\n    if self.updateBuddyProfileRequestId is not None:\n      oprot.writeFieldBegin('updateBuddyProfileRequestId', TType.STRING, 1)\n      oprot.writeString(self.updateBuddyProfileRequestId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.updateBuddyProfileRequestId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUpdateBuddyProfileResult_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (UpdateBuddyProfileResult, UpdateBuddyProfileResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = UpdateBuddyProfileResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUpdateBuddyProfileResult_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isBuddyOnAirByMid_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'buddyMid', None, None, ), # 2\n  )\n\n  def __init__(self, buddyMid=None,):\n    self.buddyMid = buddyMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isBuddyOnAirByMid_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 2)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isBuddyOnAirByMid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.BOOL, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.BOOL:\n          self.success = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isBuddyOnAirByMid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.BOOL, 0)\n      oprot.writeBool(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass linkAndSendBuddyContentMessageToAllAsync_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n   - sourceContentId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n    (3, TType.STRING, 'sourceContentId', None, None, ), # 3\n  )\n\n  def __init__(self, requestId=None, msg=None, sourceContentId=None,):\n    self.requestId = requestId\n    self.msg = msg\n    self.sourceContentId = sourceContentId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.sourceContentId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('linkAndSendBuddyContentMessageToAllAsync_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    if self.sourceContentId is not None:\n      oprot.writeFieldBegin('sourceContentId', TType.STRING, 3)\n      oprot.writeString(self.sourceContentId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    value = (value * 31) ^ hash(self.sourceContentId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass linkAndSendBuddyContentMessageToAllAsync_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('linkAndSendBuddyContentMessageToAllAsync_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass linkAndSendBuddyContentMessageTomids_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n   - sourceContentId\n   - mids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n    (3, TType.STRING, 'sourceContentId', None, None, ), # 3\n    (4, TType.LIST, 'mids', (TType.STRING,None), None, ), # 4\n  )\n\n  def __init__(self, requestId=None, msg=None, sourceContentId=None, mids=None,):\n    self.requestId = requestId\n    self.msg = msg\n    self.sourceContentId = sourceContentId\n    self.mids = mids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.sourceContentId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.LIST:\n          self.mids = []\n          (_etype407, _size404) = iprot.readListBegin()\n          for _i408 in xrange(_size404):\n            _elem409 = iprot.readString()\n            self.mids.append(_elem409)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('linkAndSendBuddyContentMessageTomids_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    if self.sourceContentId is not None:\n      oprot.writeFieldBegin('sourceContentId', TType.STRING, 3)\n      oprot.writeString(self.sourceContentId)\n      oprot.writeFieldEnd()\n    if self.mids is not None:\n      oprot.writeFieldBegin('mids', TType.LIST, 4)\n      oprot.writeListBegin(TType.STRING, len(self.mids))\n      for iter410 in self.mids:\n        oprot.writeString(iter410)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    value = (value * 31) ^ hash(self.sourceContentId)\n    value = (value * 31) ^ hash(self.mids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass linkAndSendBuddyContentMessageTomids_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SendBuddyMessageResult, SendBuddyMessageResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SendBuddyMessageResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('linkAndSendBuddyContentMessageTomids_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyBuddyBlocked_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n   - blockerMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'buddyMid', None, None, ), # 1\n    (2, TType.STRING, 'blockerMid', None, None, ), # 2\n  )\n\n  def __init__(self, buddyMid=None, blockerMid=None,):\n    self.buddyMid = buddyMid\n    self.blockerMid = blockerMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.blockerMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyBuddyBlocked_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 1)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    if self.blockerMid is not None:\n      oprot.writeFieldBegin('blockerMid', TType.STRING, 2)\n      oprot.writeString(self.blockerMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    value = (value * 31) ^ hash(self.blockerMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyBuddyBlocked_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyBuddyBlocked_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyBuddyUnblocked_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n   - blockerMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'buddyMid', None, None, ), # 1\n    (2, TType.STRING, 'blockerMid', None, None, ), # 2\n  )\n\n  def __init__(self, buddyMid=None, blockerMid=None,):\n    self.buddyMid = buddyMid\n    self.blockerMid = blockerMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.blockerMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyBuddyUnblocked_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 1)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    if self.blockerMid is not None:\n      oprot.writeFieldBegin('blockerMid', TType.STRING, 2)\n      oprot.writeString(self.blockerMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    value = (value * 31) ^ hash(self.blockerMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyBuddyUnblocked_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyBuddyUnblocked_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerBuddy_args:\n  \"\"\"\n  Attributes:\n   - buddyId\n   - searchId\n   - displayName\n   - statusMeessage\n   - picture\n   - settings\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'buddyId', None, None, ), # 2\n    (3, TType.STRING, 'searchId', None, None, ), # 3\n    (4, TType.STRING, 'displayName', None, None, ), # 4\n    (5, TType.STRING, 'statusMeessage', None, None, ), # 5\n    (6, TType.STRING, 'picture', None, None, ), # 6\n    (7, TType.MAP, 'settings', (TType.STRING,None,TType.STRING,None), None, ), # 7\n  )\n\n  def __init__(self, buddyId=None, searchId=None, displayName=None, statusMeessage=None, picture=None, settings=None,):\n    self.buddyId = buddyId\n    self.searchId = searchId\n    self.displayName = displayName\n    self.statusMeessage = statusMeessage\n    self.picture = picture\n    self.settings = settings\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.buddyId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.searchId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.displayName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.statusMeessage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.picture = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.MAP:\n          self.settings = {}\n          (_ktype412, _vtype413, _size411 ) = iprot.readMapBegin()\n          for _i415 in xrange(_size411):\n            _key416 = iprot.readString()\n            _val417 = iprot.readString()\n            self.settings[_key416] = _val417\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerBuddy_args')\n    if self.buddyId is not None:\n      oprot.writeFieldBegin('buddyId', TType.STRING, 2)\n      oprot.writeString(self.buddyId)\n      oprot.writeFieldEnd()\n    if self.searchId is not None:\n      oprot.writeFieldBegin('searchId', TType.STRING, 3)\n      oprot.writeString(self.searchId)\n      oprot.writeFieldEnd()\n    if self.displayName is not None:\n      oprot.writeFieldBegin('displayName', TType.STRING, 4)\n      oprot.writeString(self.displayName)\n      oprot.writeFieldEnd()\n    if self.statusMeessage is not None:\n      oprot.writeFieldBegin('statusMeessage', TType.STRING, 5)\n      oprot.writeString(self.statusMeessage)\n      oprot.writeFieldEnd()\n    if self.picture is not None:\n      oprot.writeFieldBegin('picture', TType.STRING, 6)\n      oprot.writeString(self.picture)\n      oprot.writeFieldEnd()\n    if self.settings is not None:\n      oprot.writeFieldBegin('settings', TType.MAP, 7)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.settings))\n      for kiter418,viter419 in self.settings.items():\n        oprot.writeString(kiter418)\n        oprot.writeString(viter419)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyId)\n    value = (value * 31) ^ hash(self.searchId)\n    value = (value * 31) ^ hash(self.displayName)\n    value = (value * 31) ^ hash(self.statusMeessage)\n    value = (value * 31) ^ hash(self.picture)\n    value = (value * 31) ^ hash(self.settings)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerBuddy_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerBuddy_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerBuddyAdmin_args:\n  \"\"\"\n  Attributes:\n   - buddyId\n   - searchId\n   - displayName\n   - statusMessage\n   - picture\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'buddyId', None, None, ), # 2\n    (3, TType.STRING, 'searchId', None, None, ), # 3\n    (4, TType.STRING, 'displayName', None, None, ), # 4\n    (5, TType.STRING, 'statusMessage', None, None, ), # 5\n    (6, TType.STRING, 'picture', None, None, ), # 6\n  )\n\n  def __init__(self, buddyId=None, searchId=None, displayName=None, statusMessage=None, picture=None,):\n    self.buddyId = buddyId\n    self.searchId = searchId\n    self.displayName = displayName\n    self.statusMessage = statusMessage\n    self.picture = picture\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.buddyId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.searchId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.displayName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.statusMessage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.picture = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerBuddyAdmin_args')\n    if self.buddyId is not None:\n      oprot.writeFieldBegin('buddyId', TType.STRING, 2)\n      oprot.writeString(self.buddyId)\n      oprot.writeFieldEnd()\n    if self.searchId is not None:\n      oprot.writeFieldBegin('searchId', TType.STRING, 3)\n      oprot.writeString(self.searchId)\n      oprot.writeFieldEnd()\n    if self.displayName is not None:\n      oprot.writeFieldBegin('displayName', TType.STRING, 4)\n      oprot.writeString(self.displayName)\n      oprot.writeFieldEnd()\n    if self.statusMessage is not None:\n      oprot.writeFieldBegin('statusMessage', TType.STRING, 5)\n      oprot.writeString(self.statusMessage)\n      oprot.writeFieldEnd()\n    if self.picture is not None:\n      oprot.writeFieldBegin('picture', TType.STRING, 6)\n      oprot.writeString(self.picture)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyId)\n    value = (value * 31) ^ hash(self.searchId)\n    value = (value * 31) ^ hash(self.displayName)\n    value = (value * 31) ^ hash(self.statusMessage)\n    value = (value * 31) ^ hash(self.picture)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerBuddyAdmin_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerBuddyAdmin_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reissueContactTicket_args:\n  \"\"\"\n  Attributes:\n   - expirationTime\n   - maxUseCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.I64, 'expirationTime', None, None, ), # 3\n    (4, TType.I32, 'maxUseCount', None, None, ), # 4\n  )\n\n  def __init__(self, expirationTime=None, maxUseCount=None,):\n    self.expirationTime = expirationTime\n    self.maxUseCount = maxUseCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.I64:\n          self.expirationTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.maxUseCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reissueContactTicket_args')\n    if self.expirationTime is not None:\n      oprot.writeFieldBegin('expirationTime', TType.I64, 3)\n      oprot.writeI64(self.expirationTime)\n      oprot.writeFieldEnd()\n    if self.maxUseCount is not None:\n      oprot.writeFieldBegin('maxUseCount', TType.I32, 4)\n      oprot.writeI32(self.maxUseCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.expirationTime)\n    value = (value * 31) ^ hash(self.maxUseCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reissueContactTicket_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reissueContactTicket_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeBuddyMember_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - userMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'userMid', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, userMid=None,):\n    self.requestId = requestId\n    self.userMid = userMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.userMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeBuddyMember_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.userMid is not None:\n      oprot.writeFieldBegin('userMid', TType.STRING, 2)\n      oprot.writeString(self.userMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.userMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeBuddyMember_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeBuddyMember_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeBuddyMembers_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - userMids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.LIST, 'userMids', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, requestId=None, userMids=None,):\n    self.requestId = requestId\n    self.userMids = userMids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.userMids = []\n          (_etype423, _size420) = iprot.readListBegin()\n          for _i424 in xrange(_size420):\n            _elem425 = iprot.readString()\n            self.userMids.append(_elem425)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeBuddyMembers_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.userMids is not None:\n      oprot.writeFieldBegin('userMids', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.userMids))\n      for iter426 in self.userMids:\n        oprot.writeString(iter426)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.userMids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeBuddyMembers_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeBuddyMembers_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyContentMessageToAll_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n   - content\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n    (3, TType.STRING, 'content', None, None, ), # 3\n  )\n\n  def __init__(self, requestId=None, msg=None, content=None,):\n    self.requestId = requestId\n    self.msg = msg\n    self.content = content\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.content = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyContentMessageToAll_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    if self.content is not None:\n      oprot.writeFieldBegin('content', TType.STRING, 3)\n      oprot.writeString(self.content)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    value = (value * 31) ^ hash(self.content)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyContentMessageToAll_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SendBuddyMessageResult, SendBuddyMessageResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SendBuddyMessageResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyContentMessageToAll_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyContentMessageToAllAsync_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n   - content\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n    (3, TType.STRING, 'content', None, None, ), # 3\n  )\n\n  def __init__(self, requestId=None, msg=None, content=None,):\n    self.requestId = requestId\n    self.msg = msg\n    self.content = content\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.content = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyContentMessageToAllAsync_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    if self.content is not None:\n      oprot.writeFieldBegin('content', TType.STRING, 3)\n      oprot.writeString(self.content)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    value = (value * 31) ^ hash(self.content)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyContentMessageToAllAsync_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyContentMessageToAllAsync_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyContentMessageTomids_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n   - content\n   - mids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n    (3, TType.STRING, 'content', None, None, ), # 3\n    (4, TType.LIST, 'mids', (TType.STRING,None), None, ), # 4\n  )\n\n  def __init__(self, requestId=None, msg=None, content=None, mids=None,):\n    self.requestId = requestId\n    self.msg = msg\n    self.content = content\n    self.mids = mids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.content = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.LIST:\n          self.mids = []\n          (_etype430, _size427) = iprot.readListBegin()\n          for _i431 in xrange(_size427):\n            _elem432 = iprot.readString()\n            self.mids.append(_elem432)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyContentMessageTomids_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    if self.content is not None:\n      oprot.writeFieldBegin('content', TType.STRING, 3)\n      oprot.writeString(self.content)\n      oprot.writeFieldEnd()\n    if self.mids is not None:\n      oprot.writeFieldBegin('mids', TType.LIST, 4)\n      oprot.writeListBegin(TType.STRING, len(self.mids))\n      for iter433 in self.mids:\n        oprot.writeString(iter433)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    value = (value * 31) ^ hash(self.content)\n    value = (value * 31) ^ hash(self.mids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyContentMessageTomids_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SendBuddyMessageResult, SendBuddyMessageResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SendBuddyMessageResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyContentMessageTomids_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyContentMessageTomidsAsync_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n   - content\n   - mids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n    (3, TType.STRING, 'content', None, None, ), # 3\n    (4, TType.LIST, 'mids', (TType.STRING,None), None, ), # 4\n  )\n\n  def __init__(self, requestId=None, msg=None, content=None, mids=None,):\n    self.requestId = requestId\n    self.msg = msg\n    self.content = content\n    self.mids = mids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.content = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.LIST:\n          self.mids = []\n          (_etype437, _size434) = iprot.readListBegin()\n          for _i438 in xrange(_size434):\n            _elem439 = iprot.readString()\n            self.mids.append(_elem439)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyContentMessageTomidsAsync_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    if self.content is not None:\n      oprot.writeFieldBegin('content', TType.STRING, 3)\n      oprot.writeString(self.content)\n      oprot.writeFieldEnd()\n    if self.mids is not None:\n      oprot.writeFieldBegin('mids', TType.LIST, 4)\n      oprot.writeListBegin(TType.STRING, len(self.mids))\n      for iter440 in self.mids:\n        oprot.writeString(iter440)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    value = (value * 31) ^ hash(self.content)\n    value = (value * 31) ^ hash(self.mids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyContentMessageTomidsAsync_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyContentMessageTomidsAsync_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyMessageToAll_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, requestId=None, msg=None,):\n    self.requestId = requestId\n    self.msg = msg\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyMessageToAll_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyMessageToAll_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SendBuddyMessageResult, SendBuddyMessageResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SendBuddyMessageResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyMessageToAll_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyMessageToAllAsync_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, requestId=None, msg=None,):\n    self.requestId = requestId\n    self.msg = msg\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyMessageToAllAsync_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyMessageToAllAsync_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyMessageToAllAsync_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyMessageTomids_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n   - mids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n    (3, TType.LIST, 'mids', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, requestId=None, msg=None, mids=None,):\n    self.requestId = requestId\n    self.msg = msg\n    self.mids = mids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.mids = []\n          (_etype444, _size441) = iprot.readListBegin()\n          for _i445 in xrange(_size441):\n            _elem446 = iprot.readString()\n            self.mids.append(_elem446)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyMessageTomids_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    if self.mids is not None:\n      oprot.writeFieldBegin('mids', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.mids))\n      for iter447 in self.mids:\n        oprot.writeString(iter447)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    value = (value * 31) ^ hash(self.mids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyMessageTomids_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SendBuddyMessageResult, SendBuddyMessageResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SendBuddyMessageResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyMessageTomids_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyMessageTomidsAsync_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - msg\n   - mids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'msg', (Message, Message.thrift_spec), None, ), # 2\n    (3, TType.LIST, 'mids', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, requestId=None, msg=None, mids=None,):\n    self.requestId = requestId\n    self.msg = msg\n    self.mids = mids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.msg = Message()\n          self.msg.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.mids = []\n          (_etype451, _size448) = iprot.readListBegin()\n          for _i452 in xrange(_size448):\n            _elem453 = iprot.readString()\n            self.mids.append(_elem453)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyMessageTomidsAsync_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.msg is not None:\n      oprot.writeFieldBegin('msg', TType.STRUCT, 2)\n      self.msg.write(oprot)\n      oprot.writeFieldEnd()\n    if self.mids is not None:\n      oprot.writeFieldBegin('mids', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.mids))\n      for iter454 in self.mids:\n        oprot.writeString(iter454)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.msg)\n    value = (value * 31) ^ hash(self.mids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendBuddyMessageTomidsAsync_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendBuddyMessageTomidsAsync_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendIndividualEventToAllAsync_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - buddyMid\n   - notificationStatus\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'buddyMid', None, None, ), # 2\n    (3, TType.I32, 'notificationStatus', None, None, ), # 3\n  )\n\n  def __init__(self, requestId=None, buddyMid=None, notificationStatus=None,):\n    self.requestId = requestId\n    self.buddyMid = buddyMid\n    self.notificationStatus = notificationStatus\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.notificationStatus = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendIndividualEventToAllAsync_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 2)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    if self.notificationStatus is not None:\n      oprot.writeFieldBegin('notificationStatus', TType.I32, 3)\n      oprot.writeI32(self.notificationStatus)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.buddyMid)\n    value = (value * 31) ^ hash(self.notificationStatus)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendIndividualEventToAllAsync_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendIndividualEventToAllAsync_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setBuddyOnAir_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - onAir\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.BOOL, 'onAir', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, onAir=None,):\n    self.requestId = requestId\n    self.onAir = onAir\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.BOOL:\n          self.onAir = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setBuddyOnAir_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.onAir is not None:\n      oprot.writeFieldBegin('onAir', TType.BOOL, 2)\n      oprot.writeBool(self.onAir)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.onAir)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setBuddyOnAir_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SetBuddyOnAirResult, SetBuddyOnAirResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SetBuddyOnAirResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setBuddyOnAir_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setBuddyOnAirAsync_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - onAir\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.BOOL, 'onAir', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, onAir=None,):\n    self.requestId = requestId\n    self.onAir = onAir\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.BOOL:\n          self.onAir = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setBuddyOnAirAsync_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.onAir is not None:\n      oprot.writeFieldBegin('onAir', TType.BOOL, 2)\n      oprot.writeBool(self.onAir)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.onAir)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setBuddyOnAirAsync_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setBuddyOnAirAsync_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass storeMessage_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - messageRequest\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRUCT, 'messageRequest', (BuddyMessageRequest, BuddyMessageRequest.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, requestId=None, messageRequest=None,):\n    self.requestId = requestId\n    self.messageRequest = messageRequest\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.messageRequest = BuddyMessageRequest()\n          self.messageRequest.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('storeMessage_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.messageRequest is not None:\n      oprot.writeFieldBegin('messageRequest', TType.STRUCT, 2)\n      self.messageRequest.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.messageRequest)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass storeMessage_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SendBuddyMessageResult, SendBuddyMessageResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SendBuddyMessageResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('storeMessage_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unblockBuddyMember_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - mid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, mid=None,):\n    self.requestId = requestId\n    self.mid = mid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unblockBuddyMember_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.mid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unblockBuddyMember_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unblockBuddyMember_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unregisterBuddy_args:\n  \"\"\"\n  Attributes:\n   - requestId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n  )\n\n  def __init__(self, requestId=None,):\n    self.requestId = requestId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unregisterBuddy_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unregisterBuddy_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unregisterBuddy_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unregisterBuddyAdmin_args:\n  \"\"\"\n  Attributes:\n   - requestId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n  )\n\n  def __init__(self, requestId=None,):\n    self.requestId = requestId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unregisterBuddyAdmin_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unregisterBuddyAdmin_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unregisterBuddyAdmin_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyAdminProfileAttribute_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - attributes\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.MAP, 'attributes', (TType.STRING,None,TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, requestId=None, attributes=None,):\n    self.requestId = requestId\n    self.attributes = attributes\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.MAP:\n          self.attributes = {}\n          (_ktype456, _vtype457, _size455 ) = iprot.readMapBegin()\n          for _i459 in xrange(_size455):\n            _key460 = iprot.readString()\n            _val461 = iprot.readString()\n            self.attributes[_key460] = _val461\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyAdminProfileAttribute_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.attributes is not None:\n      oprot.writeFieldBegin('attributes', TType.MAP, 2)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.attributes))\n      for kiter462,viter463 in self.attributes.items():\n        oprot.writeString(kiter462)\n        oprot.writeString(viter463)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.attributes)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyAdminProfileAttribute_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyAdminProfileAttribute_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyAdminProfileImage_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - picture\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'picture', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, picture=None,):\n    self.requestId = requestId\n    self.picture = picture\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.picture = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyAdminProfileImage_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.picture is not None:\n      oprot.writeFieldBegin('picture', TType.STRING, 2)\n      oprot.writeString(self.picture)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.picture)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyAdminProfileImage_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyAdminProfileImage_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyProfileAttributes_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - attributes\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.MAP, 'attributes', (TType.STRING,None,TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, requestId=None, attributes=None,):\n    self.requestId = requestId\n    self.attributes = attributes\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.MAP:\n          self.attributes = {}\n          (_ktype465, _vtype466, _size464 ) = iprot.readMapBegin()\n          for _i468 in xrange(_size464):\n            _key469 = iprot.readString()\n            _val470 = iprot.readString()\n            self.attributes[_key469] = _val470\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyProfileAttributes_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.attributes is not None:\n      oprot.writeFieldBegin('attributes', TType.MAP, 2)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.attributes))\n      for kiter471,viter472 in self.attributes.items():\n        oprot.writeString(kiter471)\n        oprot.writeString(viter472)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.attributes)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyProfileAttributes_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (UpdateBuddyProfileResult, UpdateBuddyProfileResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = UpdateBuddyProfileResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyProfileAttributes_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyProfileAttributesAsync_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - attributes\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.MAP, 'attributes', (TType.STRING,None,TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, requestId=None, attributes=None,):\n    self.requestId = requestId\n    self.attributes = attributes\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.MAP:\n          self.attributes = {}\n          (_ktype474, _vtype475, _size473 ) = iprot.readMapBegin()\n          for _i477 in xrange(_size473):\n            _key478 = iprot.readString()\n            _val479 = iprot.readString()\n            self.attributes[_key478] = _val479\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyProfileAttributesAsync_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.attributes is not None:\n      oprot.writeFieldBegin('attributes', TType.MAP, 2)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.attributes))\n      for kiter480,viter481 in self.attributes.items():\n        oprot.writeString(kiter480)\n        oprot.writeString(viter481)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.attributes)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyProfileAttributesAsync_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyProfileAttributesAsync_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyProfileImage_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - image\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'image', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, image=None,):\n    self.requestId = requestId\n    self.image = image\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.image = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyProfileImage_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.image is not None:\n      oprot.writeFieldBegin('image', TType.STRING, 2)\n      oprot.writeString(self.image)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.image)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyProfileImage_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (UpdateBuddyProfileResult, UpdateBuddyProfileResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = UpdateBuddyProfileResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyProfileImage_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyProfileImageAsync_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - image\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'image', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, image=None,):\n    self.requestId = requestId\n    self.image = image\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.image = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyProfileImageAsync_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.image is not None:\n      oprot.writeFieldBegin('image', TType.STRING, 2)\n      oprot.writeString(self.image)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.image)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddyProfileImageAsync_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddyProfileImageAsync_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddySearchId_args:\n  \"\"\"\n  Attributes:\n   - requestId\n   - searchId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.STRING, 'searchId', None, None, ), # 2\n  )\n\n  def __init__(self, requestId=None, searchId=None,):\n    self.requestId = requestId\n    self.searchId = searchId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.searchId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddySearchId_args')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.searchId is not None:\n      oprot.writeFieldBegin('searchId', TType.STRING, 2)\n      oprot.writeString(self.searchId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.searchId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddySearchId_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddySearchId_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddySettings_args:\n  \"\"\"\n  Attributes:\n   - settings\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.MAP, 'settings', (TType.STRING,None,TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, settings=None,):\n    self.settings = settings\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.MAP:\n          self.settings = {}\n          (_ktype483, _vtype484, _size482 ) = iprot.readMapBegin()\n          for _i486 in xrange(_size482):\n            _key487 = iprot.readString()\n            _val488 = iprot.readString()\n            self.settings[_key487] = _val488\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddySettings_args')\n    if self.settings is not None:\n      oprot.writeFieldBegin('settings', TType.MAP, 2)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.settings))\n      for kiter489,viter490 in self.settings.items():\n        oprot.writeString(kiter489)\n        oprot.writeString(viter490)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.settings)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddySettings_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddySettings_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass uploadBuddyContent_args:\n  \"\"\"\n  Attributes:\n   - contentType\n   - content\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'contentType', None, None, ), # 2\n    (3, TType.STRING, 'content', None, None, ), # 3\n  )\n\n  def __init__(self, contentType=None, content=None,):\n    self.contentType = contentType\n    self.content = content\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.contentType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.content = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('uploadBuddyContent_args')\n    if self.contentType is not None:\n      oprot.writeFieldBegin('contentType', TType.I32, 2)\n      oprot.writeI32(self.contentType)\n      oprot.writeFieldEnd()\n    if self.content is not None:\n      oprot.writeFieldBegin('content', TType.STRING, 3)\n      oprot.writeString(self.content)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.contentType)\n    value = (value * 31) ^ hash(self.content)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass uploadBuddyContent_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('uploadBuddyContent_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findBuddyContactsByQuery_args:\n  \"\"\"\n  Attributes:\n   - language\n   - country\n   - query\n   - fromIndex\n   - count\n   - requestSource\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'language', None, None, ), # 2\n    (3, TType.STRING, 'country', None, None, ), # 3\n    (4, TType.STRING, 'query', None, None, ), # 4\n    (5, TType.I32, 'fromIndex', None, None, ), # 5\n    (6, TType.I32, 'count', None, None, ), # 6\n    (7, TType.I32, 'requestSource', None, None, ), # 7\n  )\n\n  def __init__(self, language=None, country=None, query=None, fromIndex=None, count=None, requestSource=None,):\n    self.language = language\n    self.country = country\n    self.query = query\n    self.fromIndex = fromIndex\n    self.count = count\n    self.requestSource = requestSource\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.query = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.fromIndex = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.I32:\n          self.count = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I32:\n          self.requestSource = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findBuddyContactsByQuery_args')\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 2)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 3)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.query is not None:\n      oprot.writeFieldBegin('query', TType.STRING, 4)\n      oprot.writeString(self.query)\n      oprot.writeFieldEnd()\n    if self.fromIndex is not None:\n      oprot.writeFieldBegin('fromIndex', TType.I32, 5)\n      oprot.writeI32(self.fromIndex)\n      oprot.writeFieldEnd()\n    if self.count is not None:\n      oprot.writeFieldBegin('count', TType.I32, 6)\n      oprot.writeI32(self.count)\n      oprot.writeFieldEnd()\n    if self.requestSource is not None:\n      oprot.writeFieldBegin('requestSource', TType.I32, 7)\n      oprot.writeI32(self.requestSource)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.query)\n    value = (value * 31) ^ hash(self.fromIndex)\n    value = (value * 31) ^ hash(self.count)\n    value = (value * 31) ^ hash(self.requestSource)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findBuddyContactsByQuery_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(BuddySearchResult, BuddySearchResult.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype494, _size491) = iprot.readListBegin()\n          for _i495 in xrange(_size491):\n            _elem496 = BuddySearchResult()\n            _elem496.read(iprot)\n            self.success.append(_elem496)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findBuddyContactsByQuery_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter497 in self.success:\n        iter497.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyContacts_args:\n  \"\"\"\n  Attributes:\n   - language\n   - country\n   - classification\n   - fromIndex\n   - count\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'language', None, None, ), # 2\n    (3, TType.STRING, 'country', None, None, ), # 3\n    (4, TType.STRING, 'classification', None, None, ), # 4\n    (5, TType.I32, 'fromIndex', None, None, ), # 5\n    (6, TType.I32, 'count', None, None, ), # 6\n  )\n\n  def __init__(self, language=None, country=None, classification=None, fromIndex=None, count=None,):\n    self.language = language\n    self.country = country\n    self.classification = classification\n    self.fromIndex = fromIndex\n    self.count = count\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.classification = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.fromIndex = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.I32:\n          self.count = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyContacts_args')\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 2)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 3)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.classification is not None:\n      oprot.writeFieldBegin('classification', TType.STRING, 4)\n      oprot.writeString(self.classification)\n      oprot.writeFieldEnd()\n    if self.fromIndex is not None:\n      oprot.writeFieldBegin('fromIndex', TType.I32, 5)\n      oprot.writeI32(self.fromIndex)\n      oprot.writeFieldEnd()\n    if self.count is not None:\n      oprot.writeFieldBegin('count', TType.I32, 6)\n      oprot.writeI32(self.count)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.classification)\n    value = (value * 31) ^ hash(self.fromIndex)\n    value = (value * 31) ^ hash(self.count)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyContacts_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype501, _size498) = iprot.readListBegin()\n          for _i502 in xrange(_size498):\n            _elem503 = Contact()\n            _elem503.read(iprot)\n            self.success.append(_elem503)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyContacts_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter504 in self.success:\n        iter504.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyDetail_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    None, # 3\n    (4, TType.STRING, 'buddyMid', None, None, ), # 4\n  )\n\n  def __init__(self, buddyMid=None,):\n    self.buddyMid = buddyMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 4:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyDetail_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 4)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyDetail_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (BuddyDetail, BuddyDetail.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = BuddyDetail()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyDetail_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyOnAir_args:\n  \"\"\"\n  Attributes:\n   - buddyMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    None, # 3\n    (4, TType.STRING, 'buddyMid', None, None, ), # 4\n  )\n\n  def __init__(self, buddyMid=None,):\n    self.buddyMid = buddyMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 4:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyOnAir_args')\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 4)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyOnAir_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (BuddyOnAir, BuddyOnAir.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = BuddyOnAir()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyOnAir_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCountriesHavingBuddy_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCountriesHavingBuddy_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCountriesHavingBuddy_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype508, _size505) = iprot.readListBegin()\n          for _i509 in xrange(_size505):\n            _elem510 = iprot.readString()\n            self.success.append(_elem510)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCountriesHavingBuddy_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter511 in self.success:\n        oprot.writeString(iter511)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNewlyReleasedBuddyIds_args:\n  \"\"\"\n  Attributes:\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.STRING, 'country', None, None, ), # 3\n  )\n\n  def __init__(self, country=None,):\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNewlyReleasedBuddyIds_args')\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 3)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNewlyReleasedBuddyIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.I64,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype513, _vtype514, _size512 ) = iprot.readMapBegin()\n          for _i516 in xrange(_size512):\n            _key517 = iprot.readString()\n            _val518 = iprot.readI64()\n            self.success[_key517] = _val518\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNewlyReleasedBuddyIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.I64, len(self.success))\n      for kiter519,viter520 in self.success.items():\n        oprot.writeString(kiter519)\n        oprot.writeI64(viter520)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPopularBuddyBanner_args:\n  \"\"\"\n  Attributes:\n   - language\n   - country\n   - applicationType\n   - resourceSpecification\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'language', None, None, ), # 2\n    (3, TType.STRING, 'country', None, None, ), # 3\n    (4, TType.I32, 'applicationType', None, None, ), # 4\n    (5, TType.STRING, 'resourceSpecification', None, None, ), # 5\n  )\n\n  def __init__(self, language=None, country=None, applicationType=None, resourceSpecification=None,):\n    self.language = language\n    self.country = country\n    self.applicationType = applicationType\n    self.resourceSpecification = resourceSpecification\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.applicationType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.resourceSpecification = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPopularBuddyBanner_args')\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 2)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 3)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.applicationType is not None:\n      oprot.writeFieldBegin('applicationType', TType.I32, 4)\n      oprot.writeI32(self.applicationType)\n      oprot.writeFieldEnd()\n    if self.resourceSpecification is not None:\n      oprot.writeFieldBegin('resourceSpecification', TType.STRING, 5)\n      oprot.writeString(self.resourceSpecification)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.applicationType)\n    value = (value * 31) ^ hash(self.resourceSpecification)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPopularBuddyBanner_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (BuddyBanner, BuddyBanner.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = BuddyBanner()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPopularBuddyBanner_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPopularBuddyLists_args:\n  \"\"\"\n  Attributes:\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'language', None, None, ), # 2\n    (3, TType.STRING, 'country', None, None, ), # 3\n  )\n\n  def __init__(self, language=None, country=None,):\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPopularBuddyLists_args')\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 2)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 3)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPopularBuddyLists_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(BuddyList, BuddyList.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype524, _size521) = iprot.readListBegin()\n          for _i525 in xrange(_size521):\n            _elem526 = BuddyList()\n            _elem526.read(iprot)\n            self.success.append(_elem526)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPopularBuddyLists_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter527 in self.success:\n        iter527.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPromotedBuddyContacts_args:\n  \"\"\"\n  Attributes:\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'language', None, None, ), # 2\n    (3, TType.STRING, 'country', None, None, ), # 3\n  )\n\n  def __init__(self, language=None, country=None,):\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPromotedBuddyContacts_args')\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 2)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 3)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPromotedBuddyContacts_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype531, _size528) = iprot.readListBegin()\n          for _i532 in xrange(_size528):\n            _elem533 = Contact()\n            _elem533.read(iprot)\n            self.success.append(_elem533)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPromotedBuddyContacts_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter534 in self.success:\n        iter534.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass activeBuddySubscriberCount_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('activeBuddySubscriberCount_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass activeBuddySubscriberCount_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I64, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I64:\n          self.success = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('activeBuddySubscriberCount_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I64, 0)\n      oprot.writeI64(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass addOperationForChannel_args:\n  \"\"\"\n  Attributes:\n   - opType\n   - param1\n   - param2\n   - param3\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'opType', None, None, ), # 1\n    (2, TType.STRING, 'param1', None, None, ), # 2\n    (3, TType.STRING, 'param2', None, None, ), # 3\n    (4, TType.STRING, 'param3', None, None, ), # 4\n  )\n\n  def __init__(self, opType=None, param1=None, param2=None, param3=None,):\n    self.opType = opType\n    self.param1 = param1\n    self.param2 = param2\n    self.param3 = param3\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.opType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.param1 = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.param2 = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.param3 = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('addOperationForChannel_args')\n    if self.opType is not None:\n      oprot.writeFieldBegin('opType', TType.I32, 1)\n      oprot.writeI32(self.opType)\n      oprot.writeFieldEnd()\n    if self.param1 is not None:\n      oprot.writeFieldBegin('param1', TType.STRING, 2)\n      oprot.writeString(self.param1)\n      oprot.writeFieldEnd()\n    if self.param2 is not None:\n      oprot.writeFieldBegin('param2', TType.STRING, 3)\n      oprot.writeString(self.param2)\n      oprot.writeFieldEnd()\n    if self.param3 is not None:\n      oprot.writeFieldBegin('param3', TType.STRING, 4)\n      oprot.writeString(self.param3)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.opType)\n    value = (value * 31) ^ hash(self.param1)\n    value = (value * 31) ^ hash(self.param2)\n    value = (value * 31) ^ hash(self.param3)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass addOperationForChannel_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('addOperationForChannel_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass displayBuddySubscriberCount_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('displayBuddySubscriberCount_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass displayBuddySubscriberCount_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I64, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I64:\n          self.success = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('displayBuddySubscriberCount_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I64, 0)\n      oprot.writeI64(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactByUseridWithoutAbuseBlockForChannel_args:\n  \"\"\"\n  Attributes:\n   - userid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'userid', None, None, ), # 2\n  )\n\n  def __init__(self, userid=None,):\n    self.userid = userid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.userid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactByUseridWithoutAbuseBlockForChannel_args')\n    if self.userid is not None:\n      oprot.writeFieldBegin('userid', TType.STRING, 2)\n      oprot.writeString(self.userid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.userid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactByUseridWithoutAbuseBlockForChannel_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Contact, Contact.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Contact()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactByUseridWithoutAbuseBlockForChannel_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAllContactIdsForChannel_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAllContactIdsForChannel_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAllContactIdsForChannel_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype538, _size535) = iprot.readListBegin()\n          for _i539 in xrange(_size535):\n            _elem540 = iprot.readString()\n            self.success.append(_elem540)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAllContactIdsForChannel_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter541 in self.success:\n        oprot.writeString(iter541)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCompactContacts_args:\n  \"\"\"\n  Attributes:\n   - lastModifiedTimestamp\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'lastModifiedTimestamp', None, None, ), # 2\n  )\n\n  def __init__(self, lastModifiedTimestamp=None,):\n    self.lastModifiedTimestamp = lastModifiedTimestamp\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.lastModifiedTimestamp = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCompactContacts_args')\n    if self.lastModifiedTimestamp is not None:\n      oprot.writeFieldBegin('lastModifiedTimestamp', TType.I64, 2)\n      oprot.writeI64(self.lastModifiedTimestamp)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.lastModifiedTimestamp)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCompactContacts_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(CompactContact, CompactContact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype545, _size542) = iprot.readListBegin()\n          for _i546 in xrange(_size542):\n            _elem547 = CompactContact()\n            _elem547.read(iprot)\n            self.success.append(_elem547)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCompactContacts_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter548 in self.success:\n        iter548.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getContactsForChannel_args:\n  \"\"\"\n  Attributes:\n   - ids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.LIST, 'ids', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, ids=None,):\n    self.ids = ids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.LIST:\n          self.ids = []\n          (_etype552, _size549) = iprot.readListBegin()\n          for _i553 in xrange(_size549):\n            _elem554 = iprot.readString()\n            self.ids.append(_elem554)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getContactsForChannel_args')\n    if self.ids is not None:\n      oprot.writeFieldBegin('ids', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.ids))\n      for iter555 in self.ids:\n        oprot.writeString(iter555)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.ids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getContactsForChannel_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype559, _size556) = iprot.readListBegin()\n          for _i560 in xrange(_size556):\n            _elem561 = Contact()\n            _elem561.read(iprot)\n            self.success.append(_elem561)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getContactsForChannel_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter562 in self.success:\n        iter562.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getDisplayName_args:\n  \"\"\"\n  Attributes:\n   - mid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n  )\n\n  def __init__(self, mid=None,):\n    self.mid = mid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getDisplayName_args')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getDisplayName_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getDisplayName_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getFavoriteMidsForChannel_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getFavoriteMidsForChannel_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getFavoriteMidsForChannel_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype566, _size563) = iprot.readListBegin()\n          for _i567 in xrange(_size563):\n            _elem568 = iprot.readString()\n            self.success.append(_elem568)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getFavoriteMidsForChannel_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter569 in self.success:\n        oprot.writeString(iter569)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getFriendMids_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getFriendMids_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getFriendMids_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype573, _size570) = iprot.readListBegin()\n          for _i574 in xrange(_size570):\n            _elem575 = iprot.readString()\n            self.success.append(_elem575)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getFriendMids_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter576 in self.success:\n        oprot.writeString(iter576)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroupMemberMids_args:\n  \"\"\"\n  Attributes:\n   - groupId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'groupId', None, None, ), # 1\n  )\n\n  def __init__(self, groupId=None,):\n    self.groupId = groupId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroupMemberMids_args')\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 1)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.groupId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroupMemberMids_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype580, _size577) = iprot.readListBegin()\n          for _i581 in xrange(_size577):\n            _elem582 = iprot.readString()\n            self.success.append(_elem582)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroupMemberMids_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter583 in self.success:\n        oprot.writeString(iter583)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroupsForChannel_args:\n  \"\"\"\n  Attributes:\n   - groupIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'groupIds', (TType.STRING,None), None, ), # 1\n  )\n\n  def __init__(self, groupIds=None,):\n    self.groupIds = groupIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.groupIds = []\n          (_etype587, _size584) = iprot.readListBegin()\n          for _i588 in xrange(_size584):\n            _elem589 = iprot.readString()\n            self.groupIds.append(_elem589)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroupsForChannel_args')\n    if self.groupIds is not None:\n      oprot.writeFieldBegin('groupIds', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRING, len(self.groupIds))\n      for iter590 in self.groupIds:\n        oprot.writeString(iter590)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.groupIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroupsForChannel_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Group, Group.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype594, _size591) = iprot.readListBegin()\n          for _i595 in xrange(_size591):\n            _elem596 = Group()\n            _elem596.read(iprot)\n            self.success.append(_elem596)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroupsForChannel_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter597 in self.success:\n        iter597.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getIdentityCredential_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getIdentityCredential_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getIdentityCredential_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (IdentityCredential, IdentityCredential.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = IdentityCredential()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getIdentityCredential_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getJoinedGroupIdsForChannel_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getJoinedGroupIdsForChannel_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getJoinedGroupIdsForChannel_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype601, _size598) = iprot.readListBegin()\n          for _i602 in xrange(_size598):\n            _elem603 = iprot.readString()\n            self.success.append(_elem603)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getJoinedGroupIdsForChannel_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter604 in self.success:\n        oprot.writeString(iter604)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMetaProfile_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMetaProfile_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMetaProfile_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (MetaProfile, MetaProfile.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = MetaProfile()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMetaProfile_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMid_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMid_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPrimaryClientForChannel_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPrimaryClientForChannel_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPrimaryClientForChannel_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SimpleChannelClient, SimpleChannelClient.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SimpleChannelClient()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPrimaryClientForChannel_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProfileForChannel_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProfileForChannel_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProfileForChannel_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Profile, Profile.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Profile()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProfileForChannel_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSimpleChannelContacts_args:\n  \"\"\"\n  Attributes:\n   - ids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'ids', (TType.STRING,None), None, ), # 1\n  )\n\n  def __init__(self, ids=None,):\n    self.ids = ids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.ids = []\n          (_etype608, _size605) = iprot.readListBegin()\n          for _i609 in xrange(_size605):\n            _elem610 = iprot.readString()\n            self.ids.append(_elem610)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSimpleChannelContacts_args')\n    if self.ids is not None:\n      oprot.writeFieldBegin('ids', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRING, len(self.ids))\n      for iter611 in self.ids:\n        oprot.writeString(iter611)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.ids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSimpleChannelContacts_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(SimpleChannelContact, SimpleChannelContact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype615, _size612) = iprot.readListBegin()\n          for _i616 in xrange(_size612):\n            _elem617 = SimpleChannelContact()\n            _elem617.read(iprot)\n            self.success.append(_elem617)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSimpleChannelContacts_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter618 in self.success:\n        iter618.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserCountryForBilling_args:\n  \"\"\"\n  Attributes:\n   - country\n   - remoteIp\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'country', None, None, ), # 2\n    (3, TType.STRING, 'remoteIp', None, None, ), # 3\n  )\n\n  def __init__(self, country=None, remoteIp=None,):\n    self.country = country\n    self.remoteIp = remoteIp\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.remoteIp = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserCountryForBilling_args')\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 2)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.remoteIp is not None:\n      oprot.writeFieldBegin('remoteIp', TType.STRING, 3)\n      oprot.writeString(self.remoteIp)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.remoteIp)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserCountryForBilling_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserCountryForBilling_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserCreateTime_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserCreateTime_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserCreateTime_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I64, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I64:\n          self.success = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserCreateTime_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I64, 0)\n      oprot.writeI64(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserIdentities_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserIdentities_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserIdentities_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.I32,None,TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype620, _vtype621, _size619 ) = iprot.readMapBegin()\n          for _i623 in xrange(_size619):\n            _key624 = iprot.readI32()\n            _val625 = iprot.readString()\n            self.success[_key624] = _val625\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserIdentities_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.I32, TType.STRING, len(self.success))\n      for kiter626,viter627 in self.success.items():\n        oprot.writeI32(kiter626)\n        oprot.writeString(viter627)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserLanguage_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserLanguage_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserLanguage_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserLanguage_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserMidsWhoAddedMe_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserMidsWhoAddedMe_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserMidsWhoAddedMe_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype631, _size628) = iprot.readListBegin()\n          for _i632 in xrange(_size628):\n            _elem633 = iprot.readString()\n            self.success.append(_elem633)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserMidsWhoAddedMe_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter634 in self.success:\n        oprot.writeString(iter634)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isGroupMember_args:\n  \"\"\"\n  Attributes:\n   - groupId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'groupId', None, None, ), # 1\n  )\n\n  def __init__(self, groupId=None,):\n    self.groupId = groupId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isGroupMember_args')\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 1)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.groupId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isGroupMember_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.BOOL, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.BOOL:\n          self.success = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isGroupMember_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.BOOL, 0)\n      oprot.writeBool(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isInContact_args:\n  \"\"\"\n  Attributes:\n   - mid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n  )\n\n  def __init__(self, mid=None,):\n    self.mid = mid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isInContact_args')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isInContact_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.BOOL, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.BOOL:\n          self.success = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isInContact_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.BOOL, 0)\n      oprot.writeBool(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerChannelCP_args:\n  \"\"\"\n  Attributes:\n   - cpId\n   - registerPassword\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'cpId', None, None, ), # 2\n    (3, TType.STRING, 'registerPassword', None, None, ), # 3\n  )\n\n  def __init__(self, cpId=None, registerPassword=None,):\n    self.cpId = cpId\n    self.registerPassword = registerPassword\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.cpId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.registerPassword = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerChannelCP_args')\n    if self.cpId is not None:\n      oprot.writeFieldBegin('cpId', TType.STRING, 2)\n      oprot.writeString(self.cpId)\n      oprot.writeFieldEnd()\n    if self.registerPassword is not None:\n      oprot.writeFieldBegin('registerPassword', TType.STRING, 3)\n      oprot.writeString(self.registerPassword)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.cpId)\n    value = (value * 31) ^ hash(self.registerPassword)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerChannelCP_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerChannelCP_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeNotificationStatus_args:\n  \"\"\"\n  Attributes:\n   - notificationStatus\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'notificationStatus', None, None, ), # 2\n  )\n\n  def __init__(self, notificationStatus=None,):\n    self.notificationStatus = notificationStatus\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.notificationStatus = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeNotificationStatus_args')\n    if self.notificationStatus is not None:\n      oprot.writeFieldBegin('notificationStatus', TType.I32, 2)\n      oprot.writeI32(self.notificationStatus)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.notificationStatus)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeNotificationStatus_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeNotificationStatus_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessageForChannel_args:\n  \"\"\"\n  Attributes:\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'message', (Message, Message.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, message=None,):\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.message = Message()\n          self.message.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessageForChannel_args')\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRUCT, 2)\n      self.message.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessageForChannel_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Message, Message.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Message()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessageForChannel_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendPinCodeOperation_args:\n  \"\"\"\n  Attributes:\n   - verifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'verifier', None, None, ), # 1\n  )\n\n  def __init__(self, verifier=None,):\n    self.verifier = verifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendPinCodeOperation_args')\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 1)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.verifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendPinCodeOperation_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendPinCodeOperation_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateProfileAttributeForChannel_args:\n  \"\"\"\n  Attributes:\n   - profileAttribute\n   - value\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'profileAttribute', None, None, ), # 2\n    (3, TType.STRING, 'value', None, None, ), # 3\n  )\n\n  def __init__(self, profileAttribute=None, value=None,):\n    self.profileAttribute = profileAttribute\n    self.value = value\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.profileAttribute = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.value = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateProfileAttributeForChannel_args')\n    if self.profileAttribute is not None:\n      oprot.writeFieldBegin('profileAttribute', TType.I32, 2)\n      oprot.writeI32(self.profileAttribute)\n      oprot.writeFieldEnd()\n    if self.value is not None:\n      oprot.writeFieldBegin('value', TType.STRING, 3)\n      oprot.writeString(self.value)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.profileAttribute)\n    value = (value * 31) ^ hash(self.value)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateProfileAttributeForChannel_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateProfileAttributeForChannel_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass approveChannelAndIssueChannelToken_args:\n  \"\"\"\n  Attributes:\n   - channelId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n  )\n\n  def __init__(self, channelId=None,):\n    self.channelId = channelId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('approveChannelAndIssueChannelToken_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass approveChannelAndIssueChannelToken_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ChannelToken, ChannelToken.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ChannelToken()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('approveChannelAndIssueChannelToken_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass approveChannelAndIssueRequestToken_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - otpId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n    (2, TType.STRING, 'otpId', None, None, ), # 2\n  )\n\n  def __init__(self, channelId=None, otpId=None,):\n    self.channelId = channelId\n    self.otpId = otpId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.otpId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('approveChannelAndIssueRequestToken_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.otpId is not None:\n      oprot.writeFieldBegin('otpId', TType.STRING, 2)\n      oprot.writeString(self.otpId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.otpId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass approveChannelAndIssueRequestToken_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('approveChannelAndIssueRequestToken_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchNotificationItems_args:\n  \"\"\"\n  Attributes:\n   - localRev\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'localRev', None, None, ), # 2\n  )\n\n  def __init__(self, localRev=None,):\n    self.localRev = localRev\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.localRev = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchNotificationItems_args')\n    if self.localRev is not None:\n      oprot.writeFieldBegin('localRev', TType.I64, 2)\n      oprot.writeI64(self.localRev)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.localRev)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchNotificationItems_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (NotificationFetchResult, NotificationFetchResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = NotificationFetchResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchNotificationItems_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getApprovedChannels_args:\n  \"\"\"\n  Attributes:\n   - lastSynced\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'lastSynced', None, None, ), # 2\n    (3, TType.STRING, 'locale', None, None, ), # 3\n  )\n\n  def __init__(self, lastSynced=None, locale=None,):\n    self.lastSynced = lastSynced\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.lastSynced = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getApprovedChannels_args')\n    if self.lastSynced is not None:\n      oprot.writeFieldBegin('lastSynced', TType.I64, 2)\n      oprot.writeI64(self.lastSynced)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 3)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.lastSynced)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getApprovedChannels_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ApprovedChannelInfos, ApprovedChannelInfos.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ApprovedChannelInfos()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getApprovedChannels_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getChannelInfo_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'channelId', None, None, ), # 2\n    (3, TType.STRING, 'locale', None, None, ), # 3\n  )\n\n  def __init__(self, channelId=None, locale=None,):\n    self.channelId = channelId\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getChannelInfo_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 2)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 3)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getChannelInfo_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ChannelInfo, ChannelInfo.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ChannelInfo()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getChannelInfo_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getChannelNotificationSetting_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n    (2, TType.STRING, 'locale', None, None, ), # 2\n  )\n\n  def __init__(self, channelId=None, locale=None,):\n    self.channelId = channelId\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getChannelNotificationSetting_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 2)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getChannelNotificationSetting_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ChannelNotificationSetting, ChannelNotificationSetting.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ChannelNotificationSetting()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getChannelNotificationSetting_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getChannelNotificationSettings_args:\n  \"\"\"\n  Attributes:\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'locale', None, None, ), # 1\n  )\n\n  def __init__(self, locale=None,):\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getChannelNotificationSettings_args')\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 1)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getChannelNotificationSettings_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(ChannelNotificationSetting, ChannelNotificationSetting.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype638, _size635) = iprot.readListBegin()\n          for _i639 in xrange(_size635):\n            _elem640 = ChannelNotificationSetting()\n            _elem640.read(iprot)\n            self.success.append(_elem640)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getChannelNotificationSettings_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter641 in self.success:\n        iter641.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getChannels_args:\n  \"\"\"\n  Attributes:\n   - lastSynced\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'lastSynced', None, None, ), # 2\n    (3, TType.STRING, 'locale', None, None, ), # 3\n  )\n\n  def __init__(self, lastSynced=None, locale=None,):\n    self.lastSynced = lastSynced\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.lastSynced = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getChannels_args')\n    if self.lastSynced is not None:\n      oprot.writeFieldBegin('lastSynced', TType.I64, 2)\n      oprot.writeI64(self.lastSynced)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 3)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.lastSynced)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getChannels_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ChannelInfos, ChannelInfos.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ChannelInfos()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getChannels_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getDomains_args:\n  \"\"\"\n  Attributes:\n   - lastSynced\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'lastSynced', None, None, ), # 2\n  )\n\n  def __init__(self, lastSynced=None,):\n    self.lastSynced = lastSynced\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.lastSynced = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getDomains_args')\n    if self.lastSynced is not None:\n      oprot.writeFieldBegin('lastSynced', TType.I64, 2)\n      oprot.writeI64(self.lastSynced)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.lastSynced)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getDomains_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ChannelDomains, ChannelDomains.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ChannelDomains()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getDomains_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getFriendChannelMatrices_args:\n  \"\"\"\n  Attributes:\n   - channelIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'channelIds', (TType.STRING,None), None, ), # 1\n  )\n\n  def __init__(self, channelIds=None,):\n    self.channelIds = channelIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.channelIds = []\n          (_etype645, _size642) = iprot.readListBegin()\n          for _i646 in xrange(_size642):\n            _elem647 = iprot.readString()\n            self.channelIds.append(_elem647)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getFriendChannelMatrices_args')\n    if self.channelIds is not None:\n      oprot.writeFieldBegin('channelIds', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRING, len(self.channelIds))\n      for iter648 in self.channelIds:\n        oprot.writeString(iter648)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getFriendChannelMatrices_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (FriendChannelMatricesResponse, FriendChannelMatricesResponse.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = FriendChannelMatricesResponse()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getFriendChannelMatrices_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNotificationBadgeCount_args:\n  \"\"\"\n  Attributes:\n   - localRev\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'localRev', None, None, ), # 2\n  )\n\n  def __init__(self, localRev=None,):\n    self.localRev = localRev\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.localRev = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNotificationBadgeCount_args')\n    if self.localRev is not None:\n      oprot.writeFieldBegin('localRev', TType.I64, 2)\n      oprot.writeI64(self.localRev)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.localRev)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNotificationBadgeCount_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I32, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I32:\n          self.success = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNotificationBadgeCount_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I32, 0)\n      oprot.writeI32(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass issueChannelToken_args:\n  \"\"\"\n  Attributes:\n   - channelId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n  )\n\n  def __init__(self, channelId=None,):\n    self.channelId = channelId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('issueChannelToken_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass issueChannelToken_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ChannelToken, ChannelToken.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ChannelToken()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('issueChannelToken_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass issueRequestToken_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - otpId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n    (2, TType.STRING, 'otpId', None, None, ), # 2\n  )\n\n  def __init__(self, channelId=None, otpId=None,):\n    self.channelId = channelId\n    self.otpId = otpId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.otpId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('issueRequestToken_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.otpId is not None:\n      oprot.writeFieldBegin('otpId', TType.STRING, 2)\n      oprot.writeString(self.otpId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.otpId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass issueRequestToken_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('issueRequestToken_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass issueRequestTokenWithAuthScheme_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - otpId\n   - authScheme\n   - returnUrl\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n    (2, TType.STRING, 'otpId', None, None, ), # 2\n    (3, TType.LIST, 'authScheme', (TType.STRING,None), None, ), # 3\n    (4, TType.STRING, 'returnUrl', None, None, ), # 4\n  )\n\n  def __init__(self, channelId=None, otpId=None, authScheme=None, returnUrl=None,):\n    self.channelId = channelId\n    self.otpId = otpId\n    self.authScheme = authScheme\n    self.returnUrl = returnUrl\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.otpId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.authScheme = []\n          (_etype652, _size649) = iprot.readListBegin()\n          for _i653 in xrange(_size649):\n            _elem654 = iprot.readString()\n            self.authScheme.append(_elem654)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.returnUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('issueRequestTokenWithAuthScheme_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.otpId is not None:\n      oprot.writeFieldBegin('otpId', TType.STRING, 2)\n      oprot.writeString(self.otpId)\n      oprot.writeFieldEnd()\n    if self.authScheme is not None:\n      oprot.writeFieldBegin('authScheme', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.authScheme))\n      for iter655 in self.authScheme:\n        oprot.writeString(iter655)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.returnUrl is not None:\n      oprot.writeFieldBegin('returnUrl', TType.STRING, 4)\n      oprot.writeString(self.returnUrl)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.otpId)\n    value = (value * 31) ^ hash(self.authScheme)\n    value = (value * 31) ^ hash(self.returnUrl)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass issueRequestTokenWithAuthScheme_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (RequestTokenResponse, RequestTokenResponse.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = RequestTokenResponse()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('issueRequestTokenWithAuthScheme_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reserveCoinUse_args:\n  \"\"\"\n  Attributes:\n   - request\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'request', (CoinUseReservation, CoinUseReservation.thrift_spec), None, ), # 2\n    (3, TType.STRING, 'locale', None, None, ), # 3\n  )\n\n  def __init__(self, request=None, locale=None,):\n    self.request = request\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.request = CoinUseReservation()\n          self.request.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reserveCoinUse_args')\n    if self.request is not None:\n      oprot.writeFieldBegin('request', TType.STRUCT, 2)\n      self.request.write(oprot)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 3)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.request)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reserveCoinUse_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reserveCoinUse_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass revokeChannel_args:\n  \"\"\"\n  Attributes:\n   - channelId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n  )\n\n  def __init__(self, channelId=None,):\n    self.channelId = channelId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('revokeChannel_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass revokeChannel_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('revokeChannel_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass syncChannelData_args:\n  \"\"\"\n  Attributes:\n   - lastSynced\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'lastSynced', None, None, ), # 2\n    (3, TType.STRING, 'locale', None, None, ), # 3\n  )\n\n  def __init__(self, lastSynced=None, locale=None,):\n    self.lastSynced = lastSynced\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.lastSynced = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('syncChannelData_args')\n    if self.lastSynced is not None:\n      oprot.writeFieldBegin('lastSynced', TType.I64, 2)\n      oprot.writeI64(self.lastSynced)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 3)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.lastSynced)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass syncChannelData_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ChannelSyncDatas, ChannelSyncDatas.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ChannelSyncDatas()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('syncChannelData_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateChannelNotificationSetting_args:\n  \"\"\"\n  Attributes:\n   - setting\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'setting', (TType.STRUCT,(ChannelNotificationSetting, ChannelNotificationSetting.thrift_spec)), None, ), # 1\n  )\n\n  def __init__(self, setting=None,):\n    self.setting = setting\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.setting = []\n          (_etype659, _size656) = iprot.readListBegin()\n          for _i660 in xrange(_size656):\n            _elem661 = ChannelNotificationSetting()\n            _elem661.read(iprot)\n            self.setting.append(_elem661)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateChannelNotificationSetting_args')\n    if self.setting is not None:\n      oprot.writeFieldBegin('setting', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.setting))\n      for iter662 in self.setting:\n        iter662.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.setting)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateChannelNotificationSetting_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (ChannelException, ChannelException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = ChannelException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateChannelNotificationSetting_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchMessageOperations_args:\n  \"\"\"\n  Attributes:\n   - localRevision\n   - lastOpTimestamp\n   - count\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'localRevision', None, None, ), # 2\n    (3, TType.I64, 'lastOpTimestamp', None, None, ), # 3\n    (4, TType.I32, 'count', None, None, ), # 4\n  )\n\n  def __init__(self, localRevision=None, lastOpTimestamp=None, count=None,):\n    self.localRevision = localRevision\n    self.lastOpTimestamp = lastOpTimestamp\n    self.count = count\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.localRevision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.lastOpTimestamp = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.count = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchMessageOperations_args')\n    if self.localRevision is not None:\n      oprot.writeFieldBegin('localRevision', TType.I64, 2)\n      oprot.writeI64(self.localRevision)\n      oprot.writeFieldEnd()\n    if self.lastOpTimestamp is not None:\n      oprot.writeFieldBegin('lastOpTimestamp', TType.I64, 3)\n      oprot.writeI64(self.lastOpTimestamp)\n      oprot.writeFieldEnd()\n    if self.count is not None:\n      oprot.writeFieldBegin('count', TType.I32, 4)\n      oprot.writeI32(self.count)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.localRevision)\n    value = (value * 31) ^ hash(self.lastOpTimestamp)\n    value = (value * 31) ^ hash(self.count)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchMessageOperations_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (MessageOperations, MessageOperations.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = MessageOperations()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchMessageOperations_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getLastReadMessageIds_args:\n  \"\"\"\n  Attributes:\n   - chatId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'chatId', None, None, ), # 2\n  )\n\n  def __init__(self, chatId=None,):\n    self.chatId = chatId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.chatId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getLastReadMessageIds_args')\n    if self.chatId is not None:\n      oprot.writeFieldBegin('chatId', TType.STRING, 2)\n      oprot.writeString(self.chatId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.chatId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getLastReadMessageIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (LastReadMessageIds, LastReadMessageIds.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = LastReadMessageIds()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getLastReadMessageIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass multiGetLastReadMessageIds_args:\n  \"\"\"\n  Attributes:\n   - chatIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.LIST, 'chatIds', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, chatIds=None,):\n    self.chatIds = chatIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.LIST:\n          self.chatIds = []\n          (_etype666, _size663) = iprot.readListBegin()\n          for _i667 in xrange(_size663):\n            _elem668 = iprot.readString()\n            self.chatIds.append(_elem668)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('multiGetLastReadMessageIds_args')\n    if self.chatIds is not None:\n      oprot.writeFieldBegin('chatIds', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.chatIds))\n      for iter669 in self.chatIds:\n        oprot.writeString(iter669)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.chatIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass multiGetLastReadMessageIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(LastReadMessageIds, LastReadMessageIds.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype673, _size670) = iprot.readListBegin()\n          for _i674 in xrange(_size670):\n            _elem675 = LastReadMessageIds()\n            _elem675.read(iprot)\n            self.success.append(_elem675)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('multiGetLastReadMessageIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter676 in self.success:\n        iter676.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass buyCoinProduct_args:\n  \"\"\"\n  Attributes:\n   - paymentReservation\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'paymentReservation', (PaymentReservation, PaymentReservation.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, paymentReservation=None,):\n    self.paymentReservation = paymentReservation\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.paymentReservation = PaymentReservation()\n          self.paymentReservation.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('buyCoinProduct_args')\n    if self.paymentReservation is not None:\n      oprot.writeFieldBegin('paymentReservation', TType.STRUCT, 2)\n      self.paymentReservation.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.paymentReservation)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass buyCoinProduct_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('buyCoinProduct_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass buyFreeProduct_args:\n  \"\"\"\n  Attributes:\n   - receiverMid\n   - productId\n   - messageTemplate\n   - language\n   - country\n   - packageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'receiverMid', None, None, ), # 2\n    (3, TType.STRING, 'productId', None, None, ), # 3\n    (4, TType.I32, 'messageTemplate', None, None, ), # 4\n    (5, TType.STRING, 'language', None, None, ), # 5\n    (6, TType.STRING, 'country', None, None, ), # 6\n    (7, TType.I64, 'packageId', None, None, ), # 7\n  )\n\n  def __init__(self, receiverMid=None, productId=None, messageTemplate=None, language=None, country=None, packageId=None,):\n    self.receiverMid = receiverMid\n    self.productId = productId\n    self.messageTemplate = messageTemplate\n    self.language = language\n    self.country = country\n    self.packageId = packageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.receiverMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.productId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.messageTemplate = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I64:\n          self.packageId = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('buyFreeProduct_args')\n    if self.receiverMid is not None:\n      oprot.writeFieldBegin('receiverMid', TType.STRING, 2)\n      oprot.writeString(self.receiverMid)\n      oprot.writeFieldEnd()\n    if self.productId is not None:\n      oprot.writeFieldBegin('productId', TType.STRING, 3)\n      oprot.writeString(self.productId)\n      oprot.writeFieldEnd()\n    if self.messageTemplate is not None:\n      oprot.writeFieldBegin('messageTemplate', TType.I32, 4)\n      oprot.writeI32(self.messageTemplate)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 5)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 6)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.packageId is not None:\n      oprot.writeFieldBegin('packageId', TType.I64, 7)\n      oprot.writeI64(self.packageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.receiverMid)\n    value = (value * 31) ^ hash(self.productId)\n    value = (value * 31) ^ hash(self.messageTemplate)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.packageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass buyFreeProduct_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('buyFreeProduct_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass buyMustbuyProduct_args:\n  \"\"\"\n  Attributes:\n   - receiverMid\n   - productId\n   - messageTemplate\n   - language\n   - country\n   - packageId\n   - serialNumber\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'receiverMid', None, None, ), # 2\n    (3, TType.STRING, 'productId', None, None, ), # 3\n    (4, TType.I32, 'messageTemplate', None, None, ), # 4\n    (5, TType.STRING, 'language', None, None, ), # 5\n    (6, TType.STRING, 'country', None, None, ), # 6\n    (7, TType.I64, 'packageId', None, None, ), # 7\n    (8, TType.STRING, 'serialNumber', None, None, ), # 8\n  )\n\n  def __init__(self, receiverMid=None, productId=None, messageTemplate=None, language=None, country=None, packageId=None, serialNumber=None,):\n    self.receiverMid = receiverMid\n    self.productId = productId\n    self.messageTemplate = messageTemplate\n    self.language = language\n    self.country = country\n    self.packageId = packageId\n    self.serialNumber = serialNumber\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.receiverMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.productId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.messageTemplate = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I64:\n          self.packageId = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.serialNumber = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('buyMustbuyProduct_args')\n    if self.receiverMid is not None:\n      oprot.writeFieldBegin('receiverMid', TType.STRING, 2)\n      oprot.writeString(self.receiverMid)\n      oprot.writeFieldEnd()\n    if self.productId is not None:\n      oprot.writeFieldBegin('productId', TType.STRING, 3)\n      oprot.writeString(self.productId)\n      oprot.writeFieldEnd()\n    if self.messageTemplate is not None:\n      oprot.writeFieldBegin('messageTemplate', TType.I32, 4)\n      oprot.writeI32(self.messageTemplate)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 5)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 6)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.packageId is not None:\n      oprot.writeFieldBegin('packageId', TType.I64, 7)\n      oprot.writeI64(self.packageId)\n      oprot.writeFieldEnd()\n    if self.serialNumber is not None:\n      oprot.writeFieldBegin('serialNumber', TType.STRING, 8)\n      oprot.writeString(self.serialNumber)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.receiverMid)\n    value = (value * 31) ^ hash(self.productId)\n    value = (value * 31) ^ hash(self.messageTemplate)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.packageId)\n    value = (value * 31) ^ hash(self.serialNumber)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass buyMustbuyProduct_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('buyMustbuyProduct_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass checkCanReceivePresent_args:\n  \"\"\"\n  Attributes:\n   - recipientMid\n   - packageId\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'recipientMid', None, None, ), # 2\n    (3, TType.I64, 'packageId', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, recipientMid=None, packageId=None, language=None, country=None,):\n    self.recipientMid = recipientMid\n    self.packageId = packageId\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.recipientMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.packageId = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('checkCanReceivePresent_args')\n    if self.recipientMid is not None:\n      oprot.writeFieldBegin('recipientMid', TType.STRING, 2)\n      oprot.writeString(self.recipientMid)\n      oprot.writeFieldEnd()\n    if self.packageId is not None:\n      oprot.writeFieldBegin('packageId', TType.I64, 3)\n      oprot.writeI64(self.packageId)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.recipientMid)\n    value = (value * 31) ^ hash(self.packageId)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass checkCanReceivePresent_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('checkCanReceivePresent_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActivePurchases_args:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'start', None, None, ), # 2\n    (3, TType.I32, 'size', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, country=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActivePurchases_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 2)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 3)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActivePurchases_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActivePurchases_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActivePurchaseVersions_args:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'start', None, None, ), # 2\n    (3, TType.I32, 'size', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, country=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActivePurchaseVersions_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 2)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 3)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActivePurchaseVersions_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductSimpleList, ProductSimpleList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductSimpleList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActivePurchaseVersions_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCoinProducts_args:\n  \"\"\"\n  Attributes:\n   - appStoreCode\n   - country\n   - language\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'appStoreCode', None, None, ), # 2\n    (3, TType.STRING, 'country', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n  )\n\n  def __init__(self, appStoreCode=None, country=None, language=None,):\n    self.appStoreCode = appStoreCode\n    self.country = country\n    self.language = language\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.appStoreCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCoinProducts_args')\n    if self.appStoreCode is not None:\n      oprot.writeFieldBegin('appStoreCode', TType.I32, 2)\n      oprot.writeI32(self.appStoreCode)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 3)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.appStoreCode)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.language)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCoinProducts_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(CoinProductItem, CoinProductItem.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype680, _size677) = iprot.readListBegin()\n          for _i681 in xrange(_size677):\n            _elem682 = CoinProductItem()\n            _elem682.read(iprot)\n            self.success.append(_elem682)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCoinProducts_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter683 in self.success:\n        iter683.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCoinProductsByPgCode_args:\n  \"\"\"\n  Attributes:\n   - appStoreCode\n   - pgCode\n   - country\n   - language\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'appStoreCode', None, None, ), # 2\n    (3, TType.I32, 'pgCode', None, None, ), # 3\n    (4, TType.STRING, 'country', None, None, ), # 4\n    (5, TType.STRING, 'language', None, None, ), # 5\n  )\n\n  def __init__(self, appStoreCode=None, pgCode=None, country=None, language=None,):\n    self.appStoreCode = appStoreCode\n    self.pgCode = pgCode\n    self.country = country\n    self.language = language\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.appStoreCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.pgCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCoinProductsByPgCode_args')\n    if self.appStoreCode is not None:\n      oprot.writeFieldBegin('appStoreCode', TType.I32, 2)\n      oprot.writeI32(self.appStoreCode)\n      oprot.writeFieldEnd()\n    if self.pgCode is not None:\n      oprot.writeFieldBegin('pgCode', TType.I32, 3)\n      oprot.writeI32(self.pgCode)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 4)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 5)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.appStoreCode)\n    value = (value * 31) ^ hash(self.pgCode)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.language)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCoinProductsByPgCode_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(CoinProductItem, CoinProductItem.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype687, _size684) = iprot.readListBegin()\n          for _i688 in xrange(_size684):\n            _elem689 = CoinProductItem()\n            _elem689.read(iprot)\n            self.success.append(_elem689)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCoinProductsByPgCode_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter690 in self.success:\n        iter690.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCoinPurchaseHistory_args:\n  \"\"\"\n  Attributes:\n   - request\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'request', (CoinHistoryCondition, CoinHistoryCondition.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, request=None,):\n    self.request = request\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.request = CoinHistoryCondition()\n          self.request.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCoinPurchaseHistory_args')\n    if self.request is not None:\n      oprot.writeFieldBegin('request', TType.STRUCT, 2)\n      self.request.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.request)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCoinPurchaseHistory_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (CoinHistoryResult, CoinHistoryResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = CoinHistoryResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCoinPurchaseHistory_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCoinUseAndRefundHistory_args:\n  \"\"\"\n  Attributes:\n   - request\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'request', (CoinHistoryCondition, CoinHistoryCondition.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, request=None,):\n    self.request = request\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.request = CoinHistoryCondition()\n          self.request.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCoinUseAndRefundHistory_args')\n    if self.request is not None:\n      oprot.writeFieldBegin('request', TType.STRUCT, 2)\n      self.request.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.request)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCoinUseAndRefundHistory_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (CoinHistoryResult, CoinHistoryResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = CoinHistoryResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCoinUseAndRefundHistory_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getDownloads_args:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'start', None, None, ), # 2\n    (3, TType.I32, 'size', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, country=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getDownloads_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 2)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 3)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getDownloads_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getDownloads_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getEventPackages_args:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'start', None, None, ), # 2\n    (3, TType.I32, 'size', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, country=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getEventPackages_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 2)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 3)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getEventPackages_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getEventPackages_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNewlyReleasedPackages_args:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'start', None, None, ), # 2\n    (3, TType.I32, 'size', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, country=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNewlyReleasedPackages_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 2)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 3)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNewlyReleasedPackages_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNewlyReleasedPackages_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPopularPackages_args:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'start', None, None, ), # 2\n    (3, TType.I32, 'size', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, country=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPopularPackages_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 2)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 3)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPopularPackages_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPopularPackages_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPresentsReceived_args:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'start', None, None, ), # 2\n    (3, TType.I32, 'size', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, country=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPresentsReceived_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 2)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 3)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPresentsReceived_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPresentsReceived_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPresentsSent_args:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'start', None, None, ), # 2\n    (3, TType.I32, 'size', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, country=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPresentsSent_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 2)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 3)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPresentsSent_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPresentsSent_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProduct_args:\n  \"\"\"\n  Attributes:\n   - packageID\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'packageID', None, None, ), # 2\n    (3, TType.STRING, 'language', None, None, ), # 3\n    (4, TType.STRING, 'country', None, None, ), # 4\n  )\n\n  def __init__(self, packageID=None, language=None, country=None,):\n    self.packageID = packageID\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.packageID = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProduct_args')\n    if self.packageID is not None:\n      oprot.writeFieldBegin('packageID', TType.I64, 2)\n      oprot.writeI64(self.packageID)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 3)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 4)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.packageID)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProduct_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Product, Product.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Product()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProduct_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProductList_args:\n  \"\"\"\n  Attributes:\n   - productIdList\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.LIST, 'productIdList', (TType.STRING,None), None, ), # 2\n    (3, TType.STRING, 'language', None, None, ), # 3\n    (4, TType.STRING, 'country', None, None, ), # 4\n  )\n\n  def __init__(self, productIdList=None, language=None, country=None,):\n    self.productIdList = productIdList\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.LIST:\n          self.productIdList = []\n          (_etype694, _size691) = iprot.readListBegin()\n          for _i695 in xrange(_size691):\n            _elem696 = iprot.readString()\n            self.productIdList.append(_elem696)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProductList_args')\n    if self.productIdList is not None:\n      oprot.writeFieldBegin('productIdList', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.productIdList))\n      for iter697 in self.productIdList:\n        oprot.writeString(iter697)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 3)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 4)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.productIdList)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProductList_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProductList_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProductListWithCarrier_args:\n  \"\"\"\n  Attributes:\n   - productIdList\n   - language\n   - country\n   - carrierCode\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.LIST, 'productIdList', (TType.STRING,None), None, ), # 2\n    (3, TType.STRING, 'language', None, None, ), # 3\n    (4, TType.STRING, 'country', None, None, ), # 4\n    (5, TType.STRING, 'carrierCode', None, None, ), # 5\n  )\n\n  def __init__(self, productIdList=None, language=None, country=None, carrierCode=None,):\n    self.productIdList = productIdList\n    self.language = language\n    self.country = country\n    self.carrierCode = carrierCode\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.LIST:\n          self.productIdList = []\n          (_etype701, _size698) = iprot.readListBegin()\n          for _i702 in xrange(_size698):\n            _elem703 = iprot.readString()\n            self.productIdList.append(_elem703)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.carrierCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProductListWithCarrier_args')\n    if self.productIdList is not None:\n      oprot.writeFieldBegin('productIdList', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.productIdList))\n      for iter704 in self.productIdList:\n        oprot.writeString(iter704)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 3)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 4)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.carrierCode is not None:\n      oprot.writeFieldBegin('carrierCode', TType.STRING, 5)\n      oprot.writeString(self.carrierCode)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.productIdList)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.carrierCode)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProductListWithCarrier_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProductListWithCarrier_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProductWithCarrier_args:\n  \"\"\"\n  Attributes:\n   - packageID\n   - language\n   - country\n   - carrierCode\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'packageID', None, None, ), # 2\n    (3, TType.STRING, 'language', None, None, ), # 3\n    (4, TType.STRING, 'country', None, None, ), # 4\n    (5, TType.STRING, 'carrierCode', None, None, ), # 5\n  )\n\n  def __init__(self, packageID=None, language=None, country=None, carrierCode=None,):\n    self.packageID = packageID\n    self.language = language\n    self.country = country\n    self.carrierCode = carrierCode\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.packageID = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.carrierCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProductWithCarrier_args')\n    if self.packageID is not None:\n      oprot.writeFieldBegin('packageID', TType.I64, 2)\n      oprot.writeI64(self.packageID)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 3)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 4)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.carrierCode is not None:\n      oprot.writeFieldBegin('carrierCode', TType.STRING, 5)\n      oprot.writeString(self.carrierCode)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.packageID)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.carrierCode)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProductWithCarrier_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Product, Product.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Product()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProductWithCarrier_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPurchaseHistory_args:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'start', None, None, ), # 2\n    (3, TType.I32, 'size', None, None, ), # 3\n    (4, TType.STRING, 'language', None, None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, country=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPurchaseHistory_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 2)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 3)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 4)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPurchaseHistory_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProductList, ProductList.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProductList()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPurchaseHistory_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getTotalBalance_args:\n  \"\"\"\n  Attributes:\n   - appStoreCode\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'appStoreCode', None, None, ), # 2\n  )\n\n  def __init__(self, appStoreCode=None,):\n    self.appStoreCode = appStoreCode\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.appStoreCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getTotalBalance_args')\n    if self.appStoreCode is not None:\n      oprot.writeFieldBegin('appStoreCode', TType.I32, 2)\n      oprot.writeI32(self.appStoreCode)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.appStoreCode)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getTotalBalance_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Coin, Coin.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Coin()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getTotalBalance_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyDownloaded_args:\n  \"\"\"\n  Attributes:\n   - packageId\n   - language\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'packageId', None, None, ), # 2\n    (3, TType.STRING, 'language', None, None, ), # 3\n  )\n\n  def __init__(self, packageId=None, language=None,):\n    self.packageId = packageId\n    self.language = language\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.packageId = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyDownloaded_args')\n    if self.packageId is not None:\n      oprot.writeFieldBegin('packageId', TType.I64, 2)\n      oprot.writeI64(self.packageId)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 3)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.packageId)\n    value = (value * 31) ^ hash(self.language)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyDownloaded_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I64, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I64:\n          self.success = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyDownloaded_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I64, 0)\n      oprot.writeI64(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reserveCoinPurchase_args:\n  \"\"\"\n  Attributes:\n   - request\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'request', (CoinPurchaseReservation, CoinPurchaseReservation.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, request=None,):\n    self.request = request\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.request = CoinPurchaseReservation()\n          self.request.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reserveCoinPurchase_args')\n    if self.request is not None:\n      oprot.writeFieldBegin('request', TType.STRUCT, 2)\n      self.request.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.request)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reserveCoinPurchase_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (PaymentReservationResult, PaymentReservationResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = PaymentReservationResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reserveCoinPurchase_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reservePayment_args:\n  \"\"\"\n  Attributes:\n   - paymentReservation\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'paymentReservation', (PaymentReservation, PaymentReservation.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, paymentReservation=None,):\n    self.paymentReservation = paymentReservation\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.paymentReservation = PaymentReservation()\n          self.paymentReservation.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reservePayment_args')\n    if self.paymentReservation is not None:\n      oprot.writeFieldBegin('paymentReservation', TType.STRUCT, 2)\n      self.paymentReservation.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.paymentReservation)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reservePayment_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (PaymentReservationResult, PaymentReservationResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = PaymentReservationResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reservePayment_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSnsFriends_args:\n  \"\"\"\n  Attributes:\n   - snsIdType\n   - snsAccessToken\n   - startIdx\n   - limit\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'snsIdType', None, None, ), # 2\n    (3, TType.STRING, 'snsAccessToken', None, None, ), # 3\n    (4, TType.I32, 'startIdx', None, None, ), # 4\n    (5, TType.I32, 'limit', None, None, ), # 5\n  )\n\n  def __init__(self, snsIdType=None, snsAccessToken=None, startIdx=None, limit=None,):\n    self.snsIdType = snsIdType\n    self.snsAccessToken = snsAccessToken\n    self.startIdx = startIdx\n    self.limit = limit\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.snsAccessToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.startIdx = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.limit = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSnsFriends_args')\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 2)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    if self.snsAccessToken is not None:\n      oprot.writeFieldBegin('snsAccessToken', TType.STRING, 3)\n      oprot.writeString(self.snsAccessToken)\n      oprot.writeFieldEnd()\n    if self.startIdx is not None:\n      oprot.writeFieldBegin('startIdx', TType.I32, 4)\n      oprot.writeI32(self.startIdx)\n      oprot.writeFieldEnd()\n    if self.limit is not None:\n      oprot.writeFieldBegin('limit', TType.I32, 5)\n      oprot.writeI32(self.limit)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsIdType)\n    value = (value * 31) ^ hash(self.snsAccessToken)\n    value = (value * 31) ^ hash(self.startIdx)\n    value = (value * 31) ^ hash(self.limit)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSnsFriends_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SnsFriends, SnsFriends.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SnsFriends()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSnsFriends_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSnsMyProfile_args:\n  \"\"\"\n  Attributes:\n   - snsIdType\n   - snsAccessToken\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'snsIdType', None, None, ), # 2\n    (3, TType.STRING, 'snsAccessToken', None, None, ), # 3\n  )\n\n  def __init__(self, snsIdType=None, snsAccessToken=None,):\n    self.snsIdType = snsIdType\n    self.snsAccessToken = snsAccessToken\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.snsAccessToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSnsMyProfile_args')\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 2)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    if self.snsAccessToken is not None:\n      oprot.writeFieldBegin('snsAccessToken', TType.STRING, 3)\n      oprot.writeString(self.snsAccessToken)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsIdType)\n    value = (value * 31) ^ hash(self.snsAccessToken)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSnsMyProfile_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SnsProfile, SnsProfile.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SnsProfile()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSnsMyProfile_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass postSnsInvitationMessage_args:\n  \"\"\"\n  Attributes:\n   - snsIdType\n   - snsAccessToken\n   - toSnsUserId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'snsIdType', None, None, ), # 2\n    (3, TType.STRING, 'snsAccessToken', None, None, ), # 3\n    (4, TType.STRING, 'toSnsUserId', None, None, ), # 4\n  )\n\n  def __init__(self, snsIdType=None, snsAccessToken=None, toSnsUserId=None,):\n    self.snsIdType = snsIdType\n    self.snsAccessToken = snsAccessToken\n    self.toSnsUserId = toSnsUserId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.snsAccessToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.toSnsUserId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('postSnsInvitationMessage_args')\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 2)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    if self.snsAccessToken is not None:\n      oprot.writeFieldBegin('snsAccessToken', TType.STRING, 3)\n      oprot.writeString(self.snsAccessToken)\n      oprot.writeFieldEnd()\n    if self.toSnsUserId is not None:\n      oprot.writeFieldBegin('toSnsUserId', TType.STRING, 4)\n      oprot.writeString(self.toSnsUserId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsIdType)\n    value = (value * 31) ^ hash(self.snsAccessToken)\n    value = (value * 31) ^ hash(self.toSnsUserId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass postSnsInvitationMessage_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('postSnsInvitationMessage_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acceptGroupInvitation_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - groupId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'groupId', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, groupId=None,):\n    self.reqSeq = reqSeq\n    self.groupId = groupId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acceptGroupInvitation_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 2)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.groupId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acceptGroupInvitation_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acceptGroupInvitation_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acceptGroupInvitationByTicket_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - groupId\n   - ticketId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'groupId', None, None, ), # 2\n    (3, TType.STRING, 'ticketId', None, None, ), # 3\n  )\n\n  def __init__(self, reqSeq=None, groupId=None, ticketId=None,):\n    self.reqSeq = reqSeq\n    self.groupId = groupId\n    self.ticketId = ticketId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.ticketId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acceptGroupInvitationByTicket_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 2)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    if self.ticketId is not None:\n      oprot.writeFieldBegin('ticketId', TType.STRING, 3)\n      oprot.writeString(self.ticketId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.groupId)\n    value = (value * 31) ^ hash(self.ticketId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acceptGroupInvitationByTicket_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acceptGroupInvitationByTicket_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acceptProximityMatches_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n   - ids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n    (3, TType.SET, 'ids', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, sessionId=None, ids=None,):\n    self.sessionId = sessionId\n    self.ids = ids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.SET:\n          self.ids = set()\n          (_etype708, _size705) = iprot.readSetBegin()\n          for _i709 in xrange(_size705):\n            _elem710 = iprot.readString()\n            self.ids.add(_elem710)\n          iprot.readSetEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acceptProximityMatches_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    if self.ids is not None:\n      oprot.writeFieldBegin('ids', TType.SET, 3)\n      oprot.writeSetBegin(TType.STRING, len(self.ids))\n      for iter711 in self.ids:\n        oprot.writeString(iter711)\n      oprot.writeSetEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    value = (value * 31) ^ hash(self.ids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acceptProximityMatches_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acceptProximityMatches_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acquireCallRoute_args:\n  \"\"\"\n  Attributes:\n   - to\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'to', None, None, ), # 2\n  )\n\n  def __init__(self, to=None,):\n    self.to = to\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.to = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acquireCallRoute_args')\n    if self.to is not None:\n      oprot.writeFieldBegin('to', TType.STRING, 2)\n      oprot.writeString(self.to)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.to)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acquireCallRoute_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype715, _size712) = iprot.readListBegin()\n          for _i716 in xrange(_size712):\n            _elem717 = iprot.readString()\n            self.success.append(_elem717)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acquireCallRoute_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter718 in self.success:\n        oprot.writeString(iter718)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acquireCallTicket_args:\n  \"\"\"\n  Attributes:\n   - to\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'to', None, None, ), # 2\n  )\n\n  def __init__(self, to=None,):\n    self.to = to\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.to = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acquireCallTicket_args')\n    if self.to is not None:\n      oprot.writeFieldBegin('to', TType.STRING, 2)\n      oprot.writeString(self.to)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.to)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acquireCallTicket_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acquireCallTicket_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acquireEncryptedAccessToken_args:\n  \"\"\"\n  Attributes:\n   - featureType\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'featureType', None, None, ), # 2\n  )\n\n  def __init__(self, featureType=None,):\n    self.featureType = featureType\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.featureType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acquireEncryptedAccessToken_args')\n    if self.featureType is not None:\n      oprot.writeFieldBegin('featureType', TType.I32, 2)\n      oprot.writeI32(self.featureType)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.featureType)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass acquireEncryptedAccessToken_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('acquireEncryptedAccessToken_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass addSnsId_args:\n  \"\"\"\n  Attributes:\n   - snsIdType\n   - snsAccessToken\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'snsIdType', None, None, ), # 2\n    (3, TType.STRING, 'snsAccessToken', None, None, ), # 3\n  )\n\n  def __init__(self, snsIdType=None, snsAccessToken=None,):\n    self.snsIdType = snsIdType\n    self.snsAccessToken = snsAccessToken\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.snsAccessToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('addSnsId_args')\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 2)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    if self.snsAccessToken is not None:\n      oprot.writeFieldBegin('snsAccessToken', TType.STRING, 3)\n      oprot.writeString(self.snsAccessToken)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsIdType)\n    value = (value * 31) ^ hash(self.snsAccessToken)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass addSnsId_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('addSnsId_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass blockContact_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - id\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'id', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, id=None,):\n    self.reqSeq = reqSeq\n    self.id = id\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('blockContact_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 2)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.id)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass blockContact_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('blockContact_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass blockRecommendation_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - id\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'id', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, id=None,):\n    self.reqSeq = reqSeq\n    self.id = id\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('blockRecommendation_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 2)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.id)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass blockRecommendation_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('blockRecommendation_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass cancelGroupInvitation_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - groupId\n   - contactIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'groupId', None, None, ), # 2\n    (3, TType.LIST, 'contactIds', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, reqSeq=None, groupId=None, contactIds=None,):\n    self.reqSeq = reqSeq\n    self.groupId = groupId\n    self.contactIds = contactIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.contactIds = []\n          (_etype722, _size719) = iprot.readListBegin()\n          for _i723 in xrange(_size719):\n            _elem724 = iprot.readString()\n            self.contactIds.append(_elem724)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('cancelGroupInvitation_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 2)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    if self.contactIds is not None:\n      oprot.writeFieldBegin('contactIds', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.contactIds))\n      for iter725 in self.contactIds:\n        oprot.writeString(iter725)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.groupId)\n    value = (value * 31) ^ hash(self.contactIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass cancelGroupInvitation_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('cancelGroupInvitation_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass changeVerificationMethod_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n   - method\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n    (3, TType.I32, 'method', None, None, ), # 3\n  )\n\n  def __init__(self, sessionId=None, method=None,):\n    self.sessionId = sessionId\n    self.method = method\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.method = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('changeVerificationMethod_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    if self.method is not None:\n      oprot.writeFieldBegin('method', TType.I32, 3)\n      oprot.writeI32(self.method)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    value = (value * 31) ^ hash(self.method)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass changeVerificationMethod_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (VerificationSessionData, VerificationSessionData.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = VerificationSessionData()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('changeVerificationMethod_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass clearIdentityCredential_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('clearIdentityCredential_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass clearIdentityCredential_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('clearIdentityCredential_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass clearMessageBox_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - messageBoxId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'channelId', None, None, ), # 2\n    (3, TType.STRING, 'messageBoxId', None, None, ), # 3\n  )\n\n  def __init__(self, channelId=None, messageBoxId=None,):\n    self.channelId = channelId\n    self.messageBoxId = messageBoxId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.messageBoxId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('clearMessageBox_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 2)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.messageBoxId is not None:\n      oprot.writeFieldBegin('messageBoxId', TType.STRING, 3)\n      oprot.writeString(self.messageBoxId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.messageBoxId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass clearMessageBox_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('clearMessageBox_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass closeProximityMatch_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n  )\n\n  def __init__(self, sessionId=None,):\n    self.sessionId = sessionId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('closeProximityMatch_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass closeProximityMatch_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('closeProximityMatch_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitSendMessage_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - messageId\n   - receiverMids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRING, 'messageId', None, None, ), # 2\n    (3, TType.LIST, 'receiverMids', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, seq=None, messageId=None, receiverMids=None,):\n    self.seq = seq\n    self.messageId = messageId\n    self.receiverMids = receiverMids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.messageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.receiverMids = []\n          (_etype729, _size726) = iprot.readListBegin()\n          for _i730 in xrange(_size726):\n            _elem731 = iprot.readString()\n            self.receiverMids.append(_elem731)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitSendMessage_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.messageId is not None:\n      oprot.writeFieldBegin('messageId', TType.STRING, 2)\n      oprot.writeString(self.messageId)\n      oprot.writeFieldEnd()\n    if self.receiverMids is not None:\n      oprot.writeFieldBegin('receiverMids', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.receiverMids))\n      for iter732 in self.receiverMids:\n        oprot.writeString(iter732)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.messageId)\n    value = (value * 31) ^ hash(self.receiverMids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitSendMessage_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype734, _vtype735, _size733 ) = iprot.readMapBegin()\n          for _i737 in xrange(_size733):\n            _key738 = iprot.readString()\n            _val739 = iprot.readString()\n            self.success[_key738] = _val739\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitSendMessage_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.success))\n      for kiter740,viter741 in self.success.items():\n        oprot.writeString(kiter740)\n        oprot.writeString(viter741)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitSendMessages_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - messageIds\n   - receiverMids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.LIST, 'messageIds', (TType.STRING,None), None, ), # 2\n    (3, TType.LIST, 'receiverMids', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, seq=None, messageIds=None, receiverMids=None,):\n    self.seq = seq\n    self.messageIds = messageIds\n    self.receiverMids = receiverMids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.messageIds = []\n          (_etype745, _size742) = iprot.readListBegin()\n          for _i746 in xrange(_size742):\n            _elem747 = iprot.readString()\n            self.messageIds.append(_elem747)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.receiverMids = []\n          (_etype751, _size748) = iprot.readListBegin()\n          for _i752 in xrange(_size748):\n            _elem753 = iprot.readString()\n            self.receiverMids.append(_elem753)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitSendMessages_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.messageIds is not None:\n      oprot.writeFieldBegin('messageIds', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.messageIds))\n      for iter754 in self.messageIds:\n        oprot.writeString(iter754)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.receiverMids is not None:\n      oprot.writeFieldBegin('receiverMids', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.receiverMids))\n      for iter755 in self.receiverMids:\n        oprot.writeString(iter755)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.messageIds)\n    value = (value * 31) ^ hash(self.receiverMids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitSendMessages_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype757, _vtype758, _size756 ) = iprot.readMapBegin()\n          for _i760 in xrange(_size756):\n            _key761 = iprot.readString()\n            _val762 = iprot.readString()\n            self.success[_key761] = _val762\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitSendMessages_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.success))\n      for kiter763,viter764 in self.success.items():\n        oprot.writeString(kiter763)\n        oprot.writeString(viter764)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitUpdateProfile_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - attrs\n   - receiverMids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.LIST, 'attrs', (TType.I32,None), None, ), # 2\n    (3, TType.LIST, 'receiverMids', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, seq=None, attrs=None, receiverMids=None,):\n    self.seq = seq\n    self.attrs = attrs\n    self.receiverMids = receiverMids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.attrs = []\n          (_etype768, _size765) = iprot.readListBegin()\n          for _i769 in xrange(_size765):\n            _elem770 = iprot.readI32()\n            self.attrs.append(_elem770)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.receiverMids = []\n          (_etype774, _size771) = iprot.readListBegin()\n          for _i775 in xrange(_size771):\n            _elem776 = iprot.readString()\n            self.receiverMids.append(_elem776)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitUpdateProfile_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.attrs is not None:\n      oprot.writeFieldBegin('attrs', TType.LIST, 2)\n      oprot.writeListBegin(TType.I32, len(self.attrs))\n      for iter777 in self.attrs:\n        oprot.writeI32(iter777)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.receiverMids is not None:\n      oprot.writeFieldBegin('receiverMids', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.receiverMids))\n      for iter778 in self.receiverMids:\n        oprot.writeString(iter778)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.attrs)\n    value = (value * 31) ^ hash(self.receiverMids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass commitUpdateProfile_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype780, _vtype781, _size779 ) = iprot.readMapBegin()\n          for _i783 in xrange(_size779):\n            _key784 = iprot.readString()\n            _val785 = iprot.readString()\n            self.success[_key784] = _val785\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('commitUpdateProfile_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.success))\n      for kiter786,viter787 in self.success.items():\n        oprot.writeString(kiter786)\n        oprot.writeString(viter787)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass confirmEmail_args:\n  \"\"\"\n  Attributes:\n   - verifier\n   - pinCode\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'verifier', None, None, ), # 2\n    (3, TType.STRING, 'pinCode', None, None, ), # 3\n  )\n\n  def __init__(self, verifier=None, pinCode=None,):\n    self.verifier = verifier\n    self.pinCode = pinCode\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.pinCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('confirmEmail_args')\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 2)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    if self.pinCode is not None:\n      oprot.writeFieldBegin('pinCode', TType.STRING, 3)\n      oprot.writeString(self.pinCode)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.verifier)\n    value = (value * 31) ^ hash(self.pinCode)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass confirmEmail_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('confirmEmail_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass createGroup_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - name\n   - contactIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRING, 'name', None, None, ), # 2\n    (3, TType.LIST, 'contactIds', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, seq=None, name=None, contactIds=None,):\n    self.seq = seq\n    self.name = name\n    self.contactIds = contactIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.name = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.contactIds = []\n          (_etype791, _size788) = iprot.readListBegin()\n          for _i792 in xrange(_size788):\n            _elem793 = iprot.readString()\n            self.contactIds.append(_elem793)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('createGroup_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.name is not None:\n      oprot.writeFieldBegin('name', TType.STRING, 2)\n      oprot.writeString(self.name)\n      oprot.writeFieldEnd()\n    if self.contactIds is not None:\n      oprot.writeFieldBegin('contactIds', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.contactIds))\n      for iter794 in self.contactIds:\n        oprot.writeString(iter794)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.name)\n    value = (value * 31) ^ hash(self.contactIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass createGroup_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Group, Group.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Group()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('createGroup_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass createQrcodeBase64Image_args:\n  \"\"\"\n  Attributes:\n   - url\n   - characterSet\n   - imageSize\n   - x\n   - y\n   - width\n   - height\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'url', None, None, ), # 2\n    (3, TType.STRING, 'characterSet', None, None, ), # 3\n    (4, TType.I32, 'imageSize', None, None, ), # 4\n    (5, TType.I32, 'x', None, None, ), # 5\n    (6, TType.I32, 'y', None, None, ), # 6\n    (7, TType.I32, 'width', None, None, ), # 7\n    (8, TType.I32, 'height', None, None, ), # 8\n  )\n\n  def __init__(self, url=None, characterSet=None, imageSize=None, x=None, y=None, width=None, height=None,):\n    self.url = url\n    self.characterSet = characterSet\n    self.imageSize = imageSize\n    self.x = x\n    self.y = y\n    self.width = width\n    self.height = height\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.url = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.characterSet = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.imageSize = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.x = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.I32:\n          self.y = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I32:\n          self.width = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.I32:\n          self.height = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('createQrcodeBase64Image_args')\n    if self.url is not None:\n      oprot.writeFieldBegin('url', TType.STRING, 2)\n      oprot.writeString(self.url)\n      oprot.writeFieldEnd()\n    if self.characterSet is not None:\n      oprot.writeFieldBegin('characterSet', TType.STRING, 3)\n      oprot.writeString(self.characterSet)\n      oprot.writeFieldEnd()\n    if self.imageSize is not None:\n      oprot.writeFieldBegin('imageSize', TType.I32, 4)\n      oprot.writeI32(self.imageSize)\n      oprot.writeFieldEnd()\n    if self.x is not None:\n      oprot.writeFieldBegin('x', TType.I32, 5)\n      oprot.writeI32(self.x)\n      oprot.writeFieldEnd()\n    if self.y is not None:\n      oprot.writeFieldBegin('y', TType.I32, 6)\n      oprot.writeI32(self.y)\n      oprot.writeFieldEnd()\n    if self.width is not None:\n      oprot.writeFieldBegin('width', TType.I32, 7)\n      oprot.writeI32(self.width)\n      oprot.writeFieldEnd()\n    if self.height is not None:\n      oprot.writeFieldBegin('height', TType.I32, 8)\n      oprot.writeI32(self.height)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.url)\n    value = (value * 31) ^ hash(self.characterSet)\n    value = (value * 31) ^ hash(self.imageSize)\n    value = (value * 31) ^ hash(self.x)\n    value = (value * 31) ^ hash(self.y)\n    value = (value * 31) ^ hash(self.width)\n    value = (value * 31) ^ hash(self.height)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass createQrcodeBase64Image_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('createQrcodeBase64Image_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass createRoom_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - contactIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.LIST, 'contactIds', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, contactIds=None,):\n    self.reqSeq = reqSeq\n    self.contactIds = contactIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.contactIds = []\n          (_etype798, _size795) = iprot.readListBegin()\n          for _i799 in xrange(_size795):\n            _elem800 = iprot.readString()\n            self.contactIds.append(_elem800)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('createRoom_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.contactIds is not None:\n      oprot.writeFieldBegin('contactIds', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.contactIds))\n      for iter801 in self.contactIds:\n        oprot.writeString(iter801)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.contactIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass createRoom_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Room, Room.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Room()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('createRoom_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass createSession_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('createSession_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass createSession_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('createSession_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchAnnouncements_args:\n  \"\"\"\n  Attributes:\n   - lastFetchedIndex\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'lastFetchedIndex', None, None, ), # 2\n  )\n\n  def __init__(self, lastFetchedIndex=None,):\n    self.lastFetchedIndex = lastFetchedIndex\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.lastFetchedIndex = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchAnnouncements_args')\n    if self.lastFetchedIndex is not None:\n      oprot.writeFieldBegin('lastFetchedIndex', TType.I32, 2)\n      oprot.writeI32(self.lastFetchedIndex)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.lastFetchedIndex)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchAnnouncements_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Announcement, Announcement.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype805, _size802) = iprot.readListBegin()\n          for _i806 in xrange(_size802):\n            _elem807 = Announcement()\n            _elem807.read(iprot)\n            self.success.append(_elem807)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchAnnouncements_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter808 in self.success:\n        iter808.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchMessages_args:\n  \"\"\"\n  Attributes:\n   - localTs\n   - count\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'localTs', None, None, ), # 2\n    (3, TType.I32, 'count', None, None, ), # 3\n  )\n\n  def __init__(self, localTs=None, count=None,):\n    self.localTs = localTs\n    self.count = count\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.localTs = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.count = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchMessages_args')\n    if self.localTs is not None:\n      oprot.writeFieldBegin('localTs', TType.I64, 2)\n      oprot.writeI64(self.localTs)\n      oprot.writeFieldEnd()\n    if self.count is not None:\n      oprot.writeFieldBegin('count', TType.I32, 3)\n      oprot.writeI32(self.count)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.localTs)\n    value = (value * 31) ^ hash(self.count)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchMessages_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Message, Message.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype812, _size809) = iprot.readListBegin()\n          for _i813 in xrange(_size809):\n            _elem814 = Message()\n            _elem814.read(iprot)\n            self.success.append(_elem814)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchMessages_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter815 in self.success:\n        iter815.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchOperations_args:\n  \"\"\"\n  Attributes:\n   - localRev\n   - count\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'localRev', None, None, ), # 2\n    (3, TType.I32, 'count', None, None, ), # 3\n  )\n\n  def __init__(self, localRev=None, count=None,):\n    self.localRev = localRev\n    self.count = count\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.localRev = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.count = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchOperations_args')\n    if self.localRev is not None:\n      oprot.writeFieldBegin('localRev', TType.I64, 2)\n      oprot.writeI64(self.localRev)\n      oprot.writeFieldEnd()\n    if self.count is not None:\n      oprot.writeFieldBegin('count', TType.I32, 3)\n      oprot.writeI32(self.count)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.localRev)\n    value = (value * 31) ^ hash(self.count)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchOperations_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Operation, Operation.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype819, _size816) = iprot.readListBegin()\n          for _i820 in xrange(_size816):\n            _elem821 = Operation()\n            _elem821.read(iprot)\n            self.success.append(_elem821)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchOperations_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter822 in self.success:\n        iter822.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchOps_args:\n  \"\"\"\n  Attributes:\n   - localRev\n   - count\n   - globalRev\n   - individualRev\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'localRev', None, None, ), # 2\n    (3, TType.I32, 'count', None, None, ), # 3\n    (4, TType.I64, 'globalRev', None, None, ), # 4\n    (5, TType.I64, 'individualRev', None, None, ), # 5\n  )\n\n  def __init__(self, localRev=None, count=None, globalRev=None, individualRev=None,):\n    self.localRev = localRev\n    self.count = count\n    self.globalRev = globalRev\n    self.individualRev = individualRev\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.localRev = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.count = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I64:\n          self.globalRev = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I64:\n          self.individualRev = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchOps_args')\n    if self.localRev is not None:\n      oprot.writeFieldBegin('localRev', TType.I64, 2)\n      oprot.writeI64(self.localRev)\n      oprot.writeFieldEnd()\n    if self.count is not None:\n      oprot.writeFieldBegin('count', TType.I32, 3)\n      oprot.writeI32(self.count)\n      oprot.writeFieldEnd()\n    if self.globalRev is not None:\n      oprot.writeFieldBegin('globalRev', TType.I64, 4)\n      oprot.writeI64(self.globalRev)\n      oprot.writeFieldEnd()\n    if self.individualRev is not None:\n      oprot.writeFieldBegin('individualRev', TType.I64, 5)\n      oprot.writeI64(self.individualRev)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.localRev)\n    value = (value * 31) ^ hash(self.count)\n    value = (value * 31) ^ hash(self.globalRev)\n    value = (value * 31) ^ hash(self.individualRev)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass fetchOps_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Operation, Operation.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype826, _size823) = iprot.readListBegin()\n          for _i827 in xrange(_size823):\n            _elem828 = Operation()\n            _elem828.read(iprot)\n            self.success.append(_elem828)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('fetchOps_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter829 in self.success:\n        iter829.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findAndAddContactsByEmail_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - emails\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.SET, 'emails', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, emails=None,):\n    self.reqSeq = reqSeq\n    self.emails = emails\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.SET:\n          self.emails = set()\n          (_etype833, _size830) = iprot.readSetBegin()\n          for _i834 in xrange(_size830):\n            _elem835 = iprot.readString()\n            self.emails.add(_elem835)\n          iprot.readSetEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findAndAddContactsByEmail_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.emails is not None:\n      oprot.writeFieldBegin('emails', TType.SET, 2)\n      oprot.writeSetBegin(TType.STRING, len(self.emails))\n      for iter836 in self.emails:\n        oprot.writeString(iter836)\n      oprot.writeSetEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.emails)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findAndAddContactsByEmail_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype838, _vtype839, _size837 ) = iprot.readMapBegin()\n          for _i841 in xrange(_size837):\n            _key842 = iprot.readString()\n            _val843 = Contact()\n            _val843.read(iprot)\n            self.success[_key842] = _val843\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findAndAddContactsByEmail_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success))\n      for kiter844,viter845 in self.success.items():\n        oprot.writeString(kiter844)\n        viter845.write(oprot)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findAndAddContactsByMid_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - mid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, mid=None,):\n    self.reqSeq = reqSeq\n    self.mid = mid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findAndAddContactsByMid_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.mid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findAndAddContactsByMid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype847, _vtype848, _size846 ) = iprot.readMapBegin()\n          for _i850 in xrange(_size846):\n            _key851 = iprot.readString()\n            _val852 = Contact()\n            _val852.read(iprot)\n            self.success[_key851] = _val852\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findAndAddContactsByMid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success))\n      for kiter853,viter854 in self.success.items():\n        oprot.writeString(kiter853)\n        viter854.write(oprot)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findAndAddContactsByPhone_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - phones\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.SET, 'phones', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, phones=None,):\n    self.reqSeq = reqSeq\n    self.phones = phones\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.SET:\n          self.phones = set()\n          (_etype858, _size855) = iprot.readSetBegin()\n          for _i859 in xrange(_size855):\n            _elem860 = iprot.readString()\n            self.phones.add(_elem860)\n          iprot.readSetEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findAndAddContactsByPhone_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.phones is not None:\n      oprot.writeFieldBegin('phones', TType.SET, 2)\n      oprot.writeSetBegin(TType.STRING, len(self.phones))\n      for iter861 in self.phones:\n        oprot.writeString(iter861)\n      oprot.writeSetEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.phones)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findAndAddContactsByPhone_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype863, _vtype864, _size862 ) = iprot.readMapBegin()\n          for _i866 in xrange(_size862):\n            _key867 = iprot.readString()\n            _val868 = Contact()\n            _val868.read(iprot)\n            self.success[_key867] = _val868\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findAndAddContactsByPhone_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success))\n      for kiter869,viter870 in self.success.items():\n        oprot.writeString(kiter869)\n        viter870.write(oprot)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findAndAddContactsByUserid_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - userid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'userid', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, userid=None,):\n    self.reqSeq = reqSeq\n    self.userid = userid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.userid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findAndAddContactsByUserid_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.userid is not None:\n      oprot.writeFieldBegin('userid', TType.STRING, 2)\n      oprot.writeString(self.userid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.userid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findAndAddContactsByUserid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype872, _vtype873, _size871 ) = iprot.readMapBegin()\n          for _i875 in xrange(_size871):\n            _key876 = iprot.readString()\n            _val877 = Contact()\n            _val877.read(iprot)\n            self.success[_key876] = _val877\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findAndAddContactsByUserid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success))\n      for kiter878,viter879 in self.success.items():\n        oprot.writeString(kiter878)\n        viter879.write(oprot)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactByUserid_args:\n  \"\"\"\n  Attributes:\n   - userid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'userid', None, None, ), # 2\n  )\n\n  def __init__(self, userid=None,):\n    self.userid = userid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.userid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactByUserid_args')\n    if self.userid is not None:\n      oprot.writeFieldBegin('userid', TType.STRING, 2)\n      oprot.writeString(self.userid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.userid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactByUserid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Contact, Contact.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Contact()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactByUserid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactByUserTicket_args:\n  \"\"\"\n  Attributes:\n   - ticketId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'ticketId', None, None, ), # 2\n  )\n\n  def __init__(self, ticketId=None,):\n    self.ticketId = ticketId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.ticketId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactByUserTicket_args')\n    if self.ticketId is not None:\n      oprot.writeFieldBegin('ticketId', TType.STRING, 2)\n      oprot.writeString(self.ticketId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.ticketId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactByUserTicket_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Contact, Contact.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Contact()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactByUserTicket_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findGroupByTicket_args:\n  \"\"\"\n  Attributes:\n   - ticketId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'ticketId', None, None, ), # 2\n  )\n\n  def __init__(self, ticketId=None,):\n    self.ticketId = ticketId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.ticketId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findGroupByTicket_args')\n    if self.ticketId is not None:\n      oprot.writeFieldBegin('ticketId', TType.STRING, 2)\n      oprot.writeString(self.ticketId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.ticketId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findGroupByTicket_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Group, Group.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Group()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findGroupByTicket_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactsByEmail_args:\n  \"\"\"\n  Attributes:\n   - emails\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.SET, 'emails', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, emails=None,):\n    self.emails = emails\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.SET:\n          self.emails = set()\n          (_etype883, _size880) = iprot.readSetBegin()\n          for _i884 in xrange(_size880):\n            _elem885 = iprot.readString()\n            self.emails.add(_elem885)\n          iprot.readSetEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactsByEmail_args')\n    if self.emails is not None:\n      oprot.writeFieldBegin('emails', TType.SET, 2)\n      oprot.writeSetBegin(TType.STRING, len(self.emails))\n      for iter886 in self.emails:\n        oprot.writeString(iter886)\n      oprot.writeSetEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.emails)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactsByEmail_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype888, _vtype889, _size887 ) = iprot.readMapBegin()\n          for _i891 in xrange(_size887):\n            _key892 = iprot.readString()\n            _val893 = Contact()\n            _val893.read(iprot)\n            self.success[_key892] = _val893\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactsByEmail_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success))\n      for kiter894,viter895 in self.success.items():\n        oprot.writeString(kiter894)\n        viter895.write(oprot)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactsByPhone_args:\n  \"\"\"\n  Attributes:\n   - phones\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.SET, 'phones', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, phones=None,):\n    self.phones = phones\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.SET:\n          self.phones = set()\n          (_etype899, _size896) = iprot.readSetBegin()\n          for _i900 in xrange(_size896):\n            _elem901 = iprot.readString()\n            self.phones.add(_elem901)\n          iprot.readSetEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactsByPhone_args')\n    if self.phones is not None:\n      oprot.writeFieldBegin('phones', TType.SET, 2)\n      oprot.writeSetBegin(TType.STRING, len(self.phones))\n      for iter902 in self.phones:\n        oprot.writeString(iter902)\n      oprot.writeSetEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.phones)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findContactsByPhone_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype904, _vtype905, _size903 ) = iprot.readMapBegin()\n          for _i907 in xrange(_size903):\n            _key908 = iprot.readString()\n            _val909 = Contact()\n            _val909.read(iprot)\n            self.success[_key908] = _val909\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findContactsByPhone_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success))\n      for kiter910,viter911 in self.success.items():\n        oprot.writeString(kiter910)\n        viter911.write(oprot)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findSnsIdUserStatus_args:\n  \"\"\"\n  Attributes:\n   - snsIdType\n   - snsAccessToken\n   - udidHash\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'snsIdType', None, None, ), # 2\n    (3, TType.STRING, 'snsAccessToken', None, None, ), # 3\n    (4, TType.STRING, 'udidHash', None, None, ), # 4\n  )\n\n  def __init__(self, snsIdType=None, snsAccessToken=None, udidHash=None,):\n    self.snsIdType = snsIdType\n    self.snsAccessToken = snsAccessToken\n    self.udidHash = udidHash\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.snsAccessToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findSnsIdUserStatus_args')\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 2)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    if self.snsAccessToken is not None:\n      oprot.writeFieldBegin('snsAccessToken', TType.STRING, 3)\n      oprot.writeString(self.snsAccessToken)\n      oprot.writeFieldEnd()\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 4)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsIdType)\n    value = (value * 31) ^ hash(self.snsAccessToken)\n    value = (value * 31) ^ hash(self.udidHash)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass findSnsIdUserStatus_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SnsIdUserStatus, SnsIdUserStatus.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SnsIdUserStatus()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('findSnsIdUserStatus_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass finishUpdateVerification_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n  )\n\n  def __init__(self, sessionId=None,):\n    self.sessionId = sessionId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('finishUpdateVerification_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass finishUpdateVerification_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('finishUpdateVerification_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass generateUserTicket_args:\n  \"\"\"\n  Attributes:\n   - expirationTime\n   - maxUseCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.I64, 'expirationTime', None, None, ), # 3\n    (4, TType.I32, 'maxUseCount', None, None, ), # 4\n  )\n\n  def __init__(self, expirationTime=None, maxUseCount=None,):\n    self.expirationTime = expirationTime\n    self.maxUseCount = maxUseCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.I64:\n          self.expirationTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.maxUseCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('generateUserTicket_args')\n    if self.expirationTime is not None:\n      oprot.writeFieldBegin('expirationTime', TType.I64, 3)\n      oprot.writeI64(self.expirationTime)\n      oprot.writeFieldEnd()\n    if self.maxUseCount is not None:\n      oprot.writeFieldBegin('maxUseCount', TType.I32, 4)\n      oprot.writeI32(self.maxUseCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.expirationTime)\n    value = (value * 31) ^ hash(self.maxUseCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass generateUserTicket_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Ticket, Ticket.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Ticket()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('generateUserTicket_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAcceptedProximityMatches_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n  )\n\n  def __init__(self, sessionId=None,):\n    self.sessionId = sessionId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAcceptedProximityMatches_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAcceptedProximityMatches_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.SET, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.SET:\n          self.success = set()\n          (_etype915, _size912) = iprot.readSetBegin()\n          for _i916 in xrange(_size912):\n            _elem917 = iprot.readString()\n            self.success.add(_elem917)\n          iprot.readSetEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAcceptedProximityMatches_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.SET, 0)\n      oprot.writeSetBegin(TType.STRING, len(self.success))\n      for iter918 in self.success:\n        oprot.writeString(iter918)\n      oprot.writeSetEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActiveBuddySubscriberIds_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActiveBuddySubscriberIds_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getActiveBuddySubscriberIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype922, _size919) = iprot.readListBegin()\n          for _i923 in xrange(_size919):\n            _elem924 = iprot.readString()\n            self.success.append(_elem924)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getActiveBuddySubscriberIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter925 in self.success:\n        oprot.writeString(iter925)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAllContactIds_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAllContactIds_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAllContactIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype929, _size926) = iprot.readListBegin()\n          for _i930 in xrange(_size926):\n            _elem931 = iprot.readString()\n            self.success.append(_elem931)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAllContactIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter932 in self.success:\n        oprot.writeString(iter932)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAuthQrcode_args:\n  \"\"\"\n  Attributes:\n   - keepLoggedIn\n   - systemName\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.BOOL, 'keepLoggedIn', None, None, ), # 2\n    (3, TType.STRING, 'systemName', None, None, ), # 3\n  )\n\n  def __init__(self, keepLoggedIn=None, systemName=None,):\n    self.keepLoggedIn = keepLoggedIn\n    self.systemName = systemName\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.BOOL:\n          self.keepLoggedIn = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.systemName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAuthQrcode_args')\n    if self.keepLoggedIn is not None:\n      oprot.writeFieldBegin('keepLoggedIn', TType.BOOL, 2)\n      oprot.writeBool(self.keepLoggedIn)\n      oprot.writeFieldEnd()\n    if self.systemName is not None:\n      oprot.writeFieldBegin('systemName', TType.STRING, 3)\n      oprot.writeString(self.systemName)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.keepLoggedIn)\n    value = (value * 31) ^ hash(self.systemName)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getAuthQrcode_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (AuthQrcode, AuthQrcode.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = AuthQrcode()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getAuthQrcode_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockedContactIds_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockedContactIds_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockedContactIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype936, _size933) = iprot.readListBegin()\n          for _i937 in xrange(_size933):\n            _elem938 = iprot.readString()\n            self.success.append(_elem938)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockedContactIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter939 in self.success:\n        oprot.writeString(iter939)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockedContactIdsByRange_args:\n  \"\"\"\n  Attributes:\n   - start\n   - count\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'start', None, None, ), # 2\n    (3, TType.I32, 'count', None, None, ), # 3\n  )\n\n  def __init__(self, start=None, count=None,):\n    self.start = start\n    self.count = count\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.start = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.count = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockedContactIdsByRange_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I32, 2)\n      oprot.writeI32(self.start)\n      oprot.writeFieldEnd()\n    if self.count is not None:\n      oprot.writeFieldBegin('count', TType.I32, 3)\n      oprot.writeI32(self.count)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.count)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockedContactIdsByRange_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype943, _size940) = iprot.readListBegin()\n          for _i944 in xrange(_size940):\n            _elem945 = iprot.readString()\n            self.success.append(_elem945)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockedContactIdsByRange_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter946 in self.success:\n        oprot.writeString(iter946)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockedRecommendationIds_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockedRecommendationIds_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBlockedRecommendationIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype950, _size947) = iprot.readListBegin()\n          for _i951 in xrange(_size947):\n            _elem952 = iprot.readString()\n            self.success.append(_elem952)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBlockedRecommendationIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter953 in self.success:\n        oprot.writeString(iter953)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyBlockerIds_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyBlockerIds_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyBlockerIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype957, _size954) = iprot.readListBegin()\n          for _i958 in xrange(_size954):\n            _elem959 = iprot.readString()\n            self.success.append(_elem959)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyBlockerIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter960 in self.success:\n        oprot.writeString(iter960)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyLocation_args:\n  \"\"\"\n  Attributes:\n   - mid\n   - index\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n    (3, TType.I32, 'index', None, None, ), # 3\n  )\n\n  def __init__(self, mid=None, index=None,):\n    self.mid = mid\n    self.index = index\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.index = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyLocation_args')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.index is not None:\n      oprot.writeFieldBegin('index', TType.I32, 3)\n      oprot.writeI32(self.index)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.index)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getBuddyLocation_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Geolocation, Geolocation.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Geolocation()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getBuddyLocation_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCompactContactsModifiedSince_args:\n  \"\"\"\n  Attributes:\n   - timestamp\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'timestamp', None, None, ), # 2\n  )\n\n  def __init__(self, timestamp=None,):\n    self.timestamp = timestamp\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.timestamp = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCompactContactsModifiedSince_args')\n    if self.timestamp is not None:\n      oprot.writeFieldBegin('timestamp', TType.I64, 2)\n      oprot.writeI64(self.timestamp)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.timestamp)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCompactContactsModifiedSince_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(CompactContact, CompactContact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype964, _size961) = iprot.readListBegin()\n          for _i965 in xrange(_size961):\n            _elem966 = CompactContact()\n            _elem966.read(iprot)\n            self.success.append(_elem966)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCompactContactsModifiedSince_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter967 in self.success:\n        iter967.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCompactGroup_args:\n  \"\"\"\n  Attributes:\n   - groupId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'groupId', None, None, ), # 2\n  )\n\n  def __init__(self, groupId=None,):\n    self.groupId = groupId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCompactGroup_args')\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 2)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.groupId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCompactGroup_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Group, Group.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Group()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCompactGroup_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCompactRoom_args:\n  \"\"\"\n  Attributes:\n   - roomId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'roomId', None, None, ), # 2\n  )\n\n  def __init__(self, roomId=None,):\n    self.roomId = roomId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.roomId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCompactRoom_args')\n    if self.roomId is not None:\n      oprot.writeFieldBegin('roomId', TType.STRING, 2)\n      oprot.writeString(self.roomId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.roomId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCompactRoom_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Room, Room.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Room()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCompactRoom_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getContact_args:\n  \"\"\"\n  Attributes:\n   - id\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'id', None, None, ), # 2\n  )\n\n  def __init__(self, id=None,):\n    self.id = id\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getContact_args')\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 2)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.id)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getContact_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Contact, Contact.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Contact()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getContact_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getContacts_args:\n  \"\"\"\n  Attributes:\n   - ids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.LIST, 'ids', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, ids=None,):\n    self.ids = ids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.LIST:\n          self.ids = []\n          (_etype971, _size968) = iprot.readListBegin()\n          for _i972 in xrange(_size968):\n            _elem973 = iprot.readString()\n            self.ids.append(_elem973)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getContacts_args')\n    if self.ids is not None:\n      oprot.writeFieldBegin('ids', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.ids))\n      for iter974 in self.ids:\n        oprot.writeString(iter974)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.ids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getContacts_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype978, _size975) = iprot.readListBegin()\n          for _i979 in xrange(_size975):\n            _elem980 = Contact()\n            _elem980.read(iprot)\n            self.success.append(_elem980)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getContacts_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter981 in self.success:\n        iter981.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCountryWithRequestIp_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCountryWithRequestIp_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getCountryWithRequestIp_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getCountryWithRequestIp_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getFavoriteMids_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getFavoriteMids_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getFavoriteMids_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype985, _size982) = iprot.readListBegin()\n          for _i986 in xrange(_size982):\n            _elem987 = iprot.readString()\n            self.success.append(_elem987)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getFavoriteMids_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter988 in self.success:\n        oprot.writeString(iter988)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroup_args:\n  \"\"\"\n  Attributes:\n   - groupId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'groupId', None, None, ), # 2\n  )\n\n  def __init__(self, groupId=None,):\n    self.groupId = groupId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroup_args')\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 2)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.groupId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroup_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Group, Group.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Group()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroup_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroupIdsInvited_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroupIdsInvited_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroupIdsInvited_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype992, _size989) = iprot.readListBegin()\n          for _i993 in xrange(_size989):\n            _elem994 = iprot.readString()\n            self.success.append(_elem994)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroupIdsInvited_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter995 in self.success:\n        oprot.writeString(iter995)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroupIdsJoined_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroupIdsJoined_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroupIdsJoined_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype999, _size996) = iprot.readListBegin()\n          for _i1000 in xrange(_size996):\n            _elem1001 = iprot.readString()\n            self.success.append(_elem1001)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroupIdsJoined_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter1002 in self.success:\n        oprot.writeString(iter1002)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroups_args:\n  \"\"\"\n  Attributes:\n   - groupIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.LIST, 'groupIds', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, groupIds=None,):\n    self.groupIds = groupIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.LIST:\n          self.groupIds = []\n          (_etype1006, _size1003) = iprot.readListBegin()\n          for _i1007 in xrange(_size1003):\n            _elem1008 = iprot.readString()\n            self.groupIds.append(_elem1008)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroups_args')\n    if self.groupIds is not None:\n      oprot.writeFieldBegin('groupIds', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.groupIds))\n      for iter1009 in self.groupIds:\n        oprot.writeString(iter1009)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.groupIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getGroups_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Group, Group.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1013, _size1010) = iprot.readListBegin()\n          for _i1014 in xrange(_size1010):\n            _elem1015 = Group()\n            _elem1015.read(iprot)\n            self.success.append(_elem1015)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getGroups_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1016 in self.success:\n        iter1016.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getHiddenContactMids_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getHiddenContactMids_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getHiddenContactMids_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1020, _size1017) = iprot.readListBegin()\n          for _i1021 in xrange(_size1017):\n            _elem1022 = iprot.readString()\n            self.success.append(_elem1022)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getHiddenContactMids_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter1023 in self.success:\n        oprot.writeString(iter1023)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getIdentityIdentifier_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getIdentityIdentifier_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getIdentityIdentifier_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getIdentityIdentifier_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getLastAnnouncementIndex_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getLastAnnouncementIndex_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getLastAnnouncementIndex_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I32, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I32:\n          self.success = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getLastAnnouncementIndex_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I32, 0)\n      oprot.writeI32(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getLastOpRevision_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getLastOpRevision_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getLastOpRevision_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I64, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I64:\n          self.success = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getLastOpRevision_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I64, 0)\n      oprot.writeI64(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBox_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - messageBoxId\n   - lastMessagesCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'channelId', None, None, ), # 2\n    (3, TType.STRING, 'messageBoxId', None, None, ), # 3\n    (4, TType.I32, 'lastMessagesCount', None, None, ), # 4\n  )\n\n  def __init__(self, channelId=None, messageBoxId=None, lastMessagesCount=None,):\n    self.channelId = channelId\n    self.messageBoxId = messageBoxId\n    self.lastMessagesCount = lastMessagesCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.messageBoxId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.lastMessagesCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBox_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 2)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.messageBoxId is not None:\n      oprot.writeFieldBegin('messageBoxId', TType.STRING, 3)\n      oprot.writeString(self.messageBoxId)\n      oprot.writeFieldEnd()\n    if self.lastMessagesCount is not None:\n      oprot.writeFieldBegin('lastMessagesCount', TType.I32, 4)\n      oprot.writeI32(self.lastMessagesCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.messageBoxId)\n    value = (value * 31) ^ hash(self.lastMessagesCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBox_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (TMessageBox, TMessageBox.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = TMessageBox()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBox_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxCompactWrapUp_args:\n  \"\"\"\n  Attributes:\n   - mid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n  )\n\n  def __init__(self, mid=None,):\n    self.mid = mid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxCompactWrapUp_args')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxCompactWrapUp_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (TMessageBoxWrapUp, TMessageBoxWrapUp.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = TMessageBoxWrapUp()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxCompactWrapUp_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxCompactWrapUpList_args:\n  \"\"\"\n  Attributes:\n   - start\n   - messageBoxCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'start', None, None, ), # 2\n    (3, TType.I32, 'messageBoxCount', None, None, ), # 3\n  )\n\n  def __init__(self, start=None, messageBoxCount=None,):\n    self.start = start\n    self.messageBoxCount = messageBoxCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.start = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.messageBoxCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxCompactWrapUpList_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I32, 2)\n      oprot.writeI32(self.start)\n      oprot.writeFieldEnd()\n    if self.messageBoxCount is not None:\n      oprot.writeFieldBegin('messageBoxCount', TType.I32, 3)\n      oprot.writeI32(self.messageBoxCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.messageBoxCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxCompactWrapUpList_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (TMessageBoxWrapUpResponse, TMessageBoxWrapUpResponse.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = TMessageBoxWrapUpResponse()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxCompactWrapUpList_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxList_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - lastMessagesCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'channelId', None, None, ), # 2\n    (3, TType.I32, 'lastMessagesCount', None, None, ), # 3\n  )\n\n  def __init__(self, channelId=None, lastMessagesCount=None,):\n    self.channelId = channelId\n    self.lastMessagesCount = lastMessagesCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.lastMessagesCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxList_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 2)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.lastMessagesCount is not None:\n      oprot.writeFieldBegin('lastMessagesCount', TType.I32, 3)\n      oprot.writeI32(self.lastMessagesCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.lastMessagesCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxList_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(TMessageBox, TMessageBox.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1027, _size1024) = iprot.readListBegin()\n          for _i1028 in xrange(_size1024):\n            _elem1029 = TMessageBox()\n            _elem1029.read(iprot)\n            self.success.append(_elem1029)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxList_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1030 in self.success:\n        iter1030.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxListByStatus_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - lastMessagesCount\n   - status\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'channelId', None, None, ), # 2\n    (3, TType.I32, 'lastMessagesCount', None, None, ), # 3\n    (4, TType.I32, 'status', None, None, ), # 4\n  )\n\n  def __init__(self, channelId=None, lastMessagesCount=None, status=None,):\n    self.channelId = channelId\n    self.lastMessagesCount = lastMessagesCount\n    self.status = status\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.lastMessagesCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.status = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxListByStatus_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 2)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.lastMessagesCount is not None:\n      oprot.writeFieldBegin('lastMessagesCount', TType.I32, 3)\n      oprot.writeI32(self.lastMessagesCount)\n      oprot.writeFieldEnd()\n    if self.status is not None:\n      oprot.writeFieldBegin('status', TType.I32, 4)\n      oprot.writeI32(self.status)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.lastMessagesCount)\n    value = (value * 31) ^ hash(self.status)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxListByStatus_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(TMessageBox, TMessageBox.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1034, _size1031) = iprot.readListBegin()\n          for _i1035 in xrange(_size1031):\n            _elem1036 = TMessageBox()\n            _elem1036.read(iprot)\n            self.success.append(_elem1036)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxListByStatus_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1037 in self.success:\n        iter1037.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxWrapUp_args:\n  \"\"\"\n  Attributes:\n   - mid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n  )\n\n  def __init__(self, mid=None,):\n    self.mid = mid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxWrapUp_args')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxWrapUp_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (TMessageBoxWrapUp, TMessageBoxWrapUp.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = TMessageBoxWrapUp()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxWrapUp_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxWrapUpList_args:\n  \"\"\"\n  Attributes:\n   - start\n   - messageBoxCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'start', None, None, ), # 2\n    (3, TType.I32, 'messageBoxCount', None, None, ), # 3\n  )\n\n  def __init__(self, start=None, messageBoxCount=None,):\n    self.start = start\n    self.messageBoxCount = messageBoxCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.start = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.messageBoxCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxWrapUpList_args')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I32, 2)\n      oprot.writeI32(self.start)\n      oprot.writeFieldEnd()\n    if self.messageBoxCount is not None:\n      oprot.writeFieldBegin('messageBoxCount', TType.I32, 3)\n      oprot.writeI32(self.messageBoxCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.messageBoxCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessageBoxWrapUpList_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (TMessageBoxWrapUpResponse, TMessageBoxWrapUpResponse.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = TMessageBoxWrapUpResponse()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessageBoxWrapUpList_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessagesBySequenceNumber_args:\n  \"\"\"\n  Attributes:\n   - channelId\n   - messageBoxId\n   - startSeq\n   - endSeq\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'channelId', None, None, ), # 2\n    (3, TType.STRING, 'messageBoxId', None, None, ), # 3\n    (4, TType.I64, 'startSeq', None, None, ), # 4\n    (5, TType.I64, 'endSeq', None, None, ), # 5\n  )\n\n  def __init__(self, channelId=None, messageBoxId=None, startSeq=None, endSeq=None,):\n    self.channelId = channelId\n    self.messageBoxId = messageBoxId\n    self.startSeq = startSeq\n    self.endSeq = endSeq\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.messageBoxId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I64:\n          self.startSeq = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I64:\n          self.endSeq = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessagesBySequenceNumber_args')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 2)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.messageBoxId is not None:\n      oprot.writeFieldBegin('messageBoxId', TType.STRING, 3)\n      oprot.writeString(self.messageBoxId)\n      oprot.writeFieldEnd()\n    if self.startSeq is not None:\n      oprot.writeFieldBegin('startSeq', TType.I64, 4)\n      oprot.writeI64(self.startSeq)\n      oprot.writeFieldEnd()\n    if self.endSeq is not None:\n      oprot.writeFieldBegin('endSeq', TType.I64, 5)\n      oprot.writeI64(self.endSeq)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.messageBoxId)\n    value = (value * 31) ^ hash(self.startSeq)\n    value = (value * 31) ^ hash(self.endSeq)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getMessagesBySequenceNumber_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Message, Message.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1041, _size1038) = iprot.readListBegin()\n          for _i1042 in xrange(_size1038):\n            _elem1043 = Message()\n            _elem1043.read(iprot)\n            self.success.append(_elem1043)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getMessagesBySequenceNumber_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1044 in self.success:\n        iter1044.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNextMessages_args:\n  \"\"\"\n  Attributes:\n   - messageBoxId\n   - startSeq\n   - messagesCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'messageBoxId', None, None, ), # 2\n    (3, TType.I64, 'startSeq', None, None, ), # 3\n    (4, TType.I32, 'messagesCount', None, None, ), # 4\n  )\n\n  def __init__(self, messageBoxId=None, startSeq=None, messagesCount=None,):\n    self.messageBoxId = messageBoxId\n    self.startSeq = startSeq\n    self.messagesCount = messagesCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.messageBoxId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.startSeq = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.messagesCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNextMessages_args')\n    if self.messageBoxId is not None:\n      oprot.writeFieldBegin('messageBoxId', TType.STRING, 2)\n      oprot.writeString(self.messageBoxId)\n      oprot.writeFieldEnd()\n    if self.startSeq is not None:\n      oprot.writeFieldBegin('startSeq', TType.I64, 3)\n      oprot.writeI64(self.startSeq)\n      oprot.writeFieldEnd()\n    if self.messagesCount is not None:\n      oprot.writeFieldBegin('messagesCount', TType.I32, 4)\n      oprot.writeI32(self.messagesCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.messageBoxId)\n    value = (value * 31) ^ hash(self.startSeq)\n    value = (value * 31) ^ hash(self.messagesCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNextMessages_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Message, Message.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1048, _size1045) = iprot.readListBegin()\n          for _i1049 in xrange(_size1045):\n            _elem1050 = Message()\n            _elem1050.read(iprot)\n            self.success.append(_elem1050)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNextMessages_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1051 in self.success:\n        iter1051.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNotificationPolicy_args:\n  \"\"\"\n  Attributes:\n   - carrier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'carrier', None, None, ), # 2\n  )\n\n  def __init__(self, carrier=None,):\n    self.carrier = carrier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.carrier = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNotificationPolicy_args')\n    if self.carrier is not None:\n      oprot.writeFieldBegin('carrier', TType.I32, 2)\n      oprot.writeI32(self.carrier)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.carrier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getNotificationPolicy_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.I32,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1055, _size1052) = iprot.readListBegin()\n          for _i1056 in xrange(_size1052):\n            _elem1057 = iprot.readI32()\n            self.success.append(_elem1057)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getNotificationPolicy_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.I32, len(self.success))\n      for iter1058 in self.success:\n        oprot.writeI32(iter1058)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPreviousMessages_args:\n  \"\"\"\n  Attributes:\n   - messageBoxId\n   - endSeq\n   - messagesCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'messageBoxId', None, None, ), # 2\n    (3, TType.I64, 'endSeq', None, None, ), # 3\n    (4, TType.I32, 'messagesCount', None, None, ), # 4\n  )\n\n  def __init__(self, messageBoxId=None, endSeq=None, messagesCount=None,):\n    self.messageBoxId = messageBoxId\n    self.endSeq = endSeq\n    self.messagesCount = messagesCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.messageBoxId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.endSeq = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.messagesCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPreviousMessages_args')\n    if self.messageBoxId is not None:\n      oprot.writeFieldBegin('messageBoxId', TType.STRING, 2)\n      oprot.writeString(self.messageBoxId)\n      oprot.writeFieldEnd()\n    if self.endSeq is not None:\n      oprot.writeFieldBegin('endSeq', TType.I64, 3)\n      oprot.writeI64(self.endSeq)\n      oprot.writeFieldEnd()\n    if self.messagesCount is not None:\n      oprot.writeFieldBegin('messagesCount', TType.I32, 4)\n      oprot.writeI32(self.messagesCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.messageBoxId)\n    value = (value * 31) ^ hash(self.endSeq)\n    value = (value * 31) ^ hash(self.messagesCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getPreviousMessages_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Message, Message.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1062, _size1059) = iprot.readListBegin()\n          for _i1063 in xrange(_size1059):\n            _elem1064 = Message()\n            _elem1064.read(iprot)\n            self.success.append(_elem1064)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getPreviousMessages_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1065 in self.success:\n        iter1065.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProfile_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProfile_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProfile_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Profile, Profile.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Profile()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProfile_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProximityMatchCandidateList_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n  )\n\n  def __init__(self, sessionId=None,):\n    self.sessionId = sessionId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProximityMatchCandidateList_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProximityMatchCandidateList_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (ProximityMatchCandidateResult, ProximityMatchCandidateResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = ProximityMatchCandidateResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProximityMatchCandidateList_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProximityMatchCandidates_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n  )\n\n  def __init__(self, sessionId=None,):\n    self.sessionId = sessionId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProximityMatchCandidates_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getProximityMatchCandidates_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.SET, 'success', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.SET:\n          self.success = set()\n          (_etype1069, _size1066) = iprot.readSetBegin()\n          for _i1070 in xrange(_size1066):\n            _elem1071 = Contact()\n            _elem1071.read(iprot)\n            self.success.add(_elem1071)\n          iprot.readSetEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getProximityMatchCandidates_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.SET, 0)\n      oprot.writeSetBegin(TType.STRUCT, len(self.success))\n      for iter1072 in self.success:\n        iter1072.write(oprot)\n      oprot.writeSetEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getRecentMessages_args:\n  \"\"\"\n  Attributes:\n   - messageBoxId\n   - messagesCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'messageBoxId', None, None, ), # 2\n    (3, TType.I32, 'messagesCount', None, None, ), # 3\n  )\n\n  def __init__(self, messageBoxId=None, messagesCount=None,):\n    self.messageBoxId = messageBoxId\n    self.messagesCount = messagesCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.messageBoxId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.messagesCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRecentMessages_args')\n    if self.messageBoxId is not None:\n      oprot.writeFieldBegin('messageBoxId', TType.STRING, 2)\n      oprot.writeString(self.messageBoxId)\n      oprot.writeFieldEnd()\n    if self.messagesCount is not None:\n      oprot.writeFieldBegin('messagesCount', TType.I32, 3)\n      oprot.writeI32(self.messagesCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.messageBoxId)\n    value = (value * 31) ^ hash(self.messagesCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getRecentMessages_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(Message, Message.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1076, _size1073) = iprot.readListBegin()\n          for _i1077 in xrange(_size1073):\n            _elem1078 = Message()\n            _elem1078.read(iprot)\n            self.success.append(_elem1078)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRecentMessages_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1079 in self.success:\n        iter1079.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getRecommendationIds_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRecommendationIds_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getRecommendationIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1083, _size1080) = iprot.readListBegin()\n          for _i1084 in xrange(_size1080):\n            _elem1085 = iprot.readString()\n            self.success.append(_elem1085)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRecommendationIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRING, len(self.success))\n      for iter1086 in self.success:\n        oprot.writeString(iter1086)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getRoom_args:\n  \"\"\"\n  Attributes:\n   - roomId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'roomId', None, None, ), # 2\n  )\n\n  def __init__(self, roomId=None,):\n    self.roomId = roomId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.roomId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRoom_args')\n    if self.roomId is not None:\n      oprot.writeFieldBegin('roomId', TType.STRING, 2)\n      oprot.writeString(self.roomId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.roomId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getRoom_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Room, Room.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Room()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRoom_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getRSAKeyInfo_args:\n  \"\"\"\n  Attributes:\n   - provider\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'provider', None, None, ), # 2\n  )\n\n  def __init__(self, provider=None,):\n    self.provider = provider\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.provider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRSAKeyInfo_args')\n    if self.provider is not None:\n      oprot.writeFieldBegin('provider', TType.I32, 2)\n      oprot.writeI32(self.provider)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.provider)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getRSAKeyInfo_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (RSAKey, RSAKey.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = RSAKey()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getRSAKeyInfo_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getServerTime_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getServerTime_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getServerTime_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I64, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I64:\n          self.success = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getServerTime_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I64, 0)\n      oprot.writeI64(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSessions_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSessions_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSessions_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(LoginSession, LoginSession.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1090, _size1087) = iprot.readListBegin()\n          for _i1091 in xrange(_size1087):\n            _elem1092 = LoginSession()\n            _elem1092.read(iprot)\n            self.success.append(_elem1092)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSessions_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1093 in self.success:\n        iter1093.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSettings_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSettings_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSettings_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Settings, Settings.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Settings()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSettings_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSettingsAttributes_args:\n  \"\"\"\n  Attributes:\n   - attrBitset\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'attrBitset', None, None, ), # 2\n  )\n\n  def __init__(self, attrBitset=None,):\n    self.attrBitset = attrBitset\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.attrBitset = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSettingsAttributes_args')\n    if self.attrBitset is not None:\n      oprot.writeFieldBegin('attrBitset', TType.I32, 2)\n      oprot.writeI32(self.attrBitset)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.attrBitset)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSettingsAttributes_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Settings, Settings.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Settings()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSettingsAttributes_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSystemConfiguration_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSystemConfiguration_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getSystemConfiguration_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (SystemConfiguration, SystemConfiguration.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = SystemConfiguration()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getSystemConfiguration_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserTicket_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserTicket_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getUserTicket_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Ticket, Ticket.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Ticket()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getUserTicket_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getWapInvitation_args:\n  \"\"\"\n  Attributes:\n   - invitationHash\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'invitationHash', None, None, ), # 2\n  )\n\n  def __init__(self, invitationHash=None,):\n    self.invitationHash = invitationHash\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.invitationHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getWapInvitation_args')\n    if self.invitationHash is not None:\n      oprot.writeFieldBegin('invitationHash', TType.STRING, 2)\n      oprot.writeString(self.invitationHash)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.invitationHash)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass getWapInvitation_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (WapInvitation, WapInvitation.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = WapInvitation()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('getWapInvitation_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass invalidateUserTicket_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('invalidateUserTicket_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass invalidateUserTicket_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('invalidateUserTicket_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass inviteFriendsBySms_args:\n  \"\"\"\n  Attributes:\n   - phoneNumberList\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.LIST, 'phoneNumberList', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, phoneNumberList=None,):\n    self.phoneNumberList = phoneNumberList\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.LIST:\n          self.phoneNumberList = []\n          (_etype1097, _size1094) = iprot.readListBegin()\n          for _i1098 in xrange(_size1094):\n            _elem1099 = iprot.readString()\n            self.phoneNumberList.append(_elem1099)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('inviteFriendsBySms_args')\n    if self.phoneNumberList is not None:\n      oprot.writeFieldBegin('phoneNumberList', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.phoneNumberList))\n      for iter1100 in self.phoneNumberList:\n        oprot.writeString(iter1100)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.phoneNumberList)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass inviteFriendsBySms_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('inviteFriendsBySms_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass inviteIntoGroup_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - groupId\n   - contactIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'groupId', None, None, ), # 2\n    (3, TType.LIST, 'contactIds', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, reqSeq=None, groupId=None, contactIds=None,):\n    self.reqSeq = reqSeq\n    self.groupId = groupId\n    self.contactIds = contactIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.contactIds = []\n          (_etype1104, _size1101) = iprot.readListBegin()\n          for _i1105 in xrange(_size1101):\n            _elem1106 = iprot.readString()\n            self.contactIds.append(_elem1106)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('inviteIntoGroup_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 2)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    if self.contactIds is not None:\n      oprot.writeFieldBegin('contactIds', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.contactIds))\n      for iter1107 in self.contactIds:\n        oprot.writeString(iter1107)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.groupId)\n    value = (value * 31) ^ hash(self.contactIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass inviteIntoGroup_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('inviteIntoGroup_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass inviteIntoRoom_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - roomId\n   - contactIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'roomId', None, None, ), # 2\n    (3, TType.LIST, 'contactIds', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, reqSeq=None, roomId=None, contactIds=None,):\n    self.reqSeq = reqSeq\n    self.roomId = roomId\n    self.contactIds = contactIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.roomId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.contactIds = []\n          (_etype1111, _size1108) = iprot.readListBegin()\n          for _i1112 in xrange(_size1108):\n            _elem1113 = iprot.readString()\n            self.contactIds.append(_elem1113)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('inviteIntoRoom_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.roomId is not None:\n      oprot.writeFieldBegin('roomId', TType.STRING, 2)\n      oprot.writeString(self.roomId)\n      oprot.writeFieldEnd()\n    if self.contactIds is not None:\n      oprot.writeFieldBegin('contactIds', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.contactIds))\n      for iter1114 in self.contactIds:\n        oprot.writeString(iter1114)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.roomId)\n    value = (value * 31) ^ hash(self.contactIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass inviteIntoRoom_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('inviteIntoRoom_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass inviteViaEmail_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - email\n   - name\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'email', None, None, ), # 2\n    (3, TType.STRING, 'name', None, None, ), # 3\n  )\n\n  def __init__(self, reqSeq=None, email=None, name=None,):\n    self.reqSeq = reqSeq\n    self.email = email\n    self.name = name\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.email = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.name = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('inviteViaEmail_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.email is not None:\n      oprot.writeFieldBegin('email', TType.STRING, 2)\n      oprot.writeString(self.email)\n      oprot.writeFieldEnd()\n    if self.name is not None:\n      oprot.writeFieldBegin('name', TType.STRING, 3)\n      oprot.writeString(self.name)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.email)\n    value = (value * 31) ^ hash(self.name)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass inviteViaEmail_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('inviteViaEmail_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isIdentityIdentifierAvailable_args:\n  \"\"\"\n  Attributes:\n   - provider\n   - identifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'identifier', None, None, ), # 2\n    (3, TType.I32, 'provider', None, None, ), # 3\n  )\n\n  def __init__(self, provider=None, identifier=None,):\n    self.provider = provider\n    self.identifier = identifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.I32:\n          self.provider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isIdentityIdentifierAvailable_args')\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 2)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.provider is not None:\n      oprot.writeFieldBegin('provider', TType.I32, 3)\n      oprot.writeI32(self.provider)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.provider)\n    value = (value * 31) ^ hash(self.identifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isIdentityIdentifierAvailable_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.BOOL, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.BOOL:\n          self.success = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isIdentityIdentifierAvailable_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.BOOL, 0)\n      oprot.writeBool(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isUseridAvailable_args:\n  \"\"\"\n  Attributes:\n   - userid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'userid', None, None, ), # 2\n  )\n\n  def __init__(self, userid=None,):\n    self.userid = userid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.userid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isUseridAvailable_args')\n    if self.userid is not None:\n      oprot.writeFieldBegin('userid', TType.STRING, 2)\n      oprot.writeString(self.userid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.userid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass isUseridAvailable_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.BOOL, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.BOOL:\n          self.success = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('isUseridAvailable_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.BOOL, 0)\n      oprot.writeBool(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass kickoutFromGroup_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - groupId\n   - contactIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'groupId', None, None, ), # 2\n    (3, TType.LIST, 'contactIds', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, reqSeq=None, groupId=None, contactIds=None,):\n    self.reqSeq = reqSeq\n    self.groupId = groupId\n    self.contactIds = contactIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.contactIds = []\n          (_etype1118, _size1115) = iprot.readListBegin()\n          for _i1119 in xrange(_size1115):\n            _elem1120 = iprot.readString()\n            self.contactIds.append(_elem1120)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('kickoutFromGroup_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 2)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    if self.contactIds is not None:\n      oprot.writeFieldBegin('contactIds', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.contactIds))\n      for iter1121 in self.contactIds:\n        oprot.writeString(iter1121)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.groupId)\n    value = (value * 31) ^ hash(self.contactIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass kickoutFromGroup_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('kickoutFromGroup_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass leaveGroup_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - groupId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'groupId', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, groupId=None,):\n    self.reqSeq = reqSeq\n    self.groupId = groupId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('leaveGroup_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 2)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.groupId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass leaveGroup_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('leaveGroup_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass leaveRoom_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - roomId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'roomId', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, roomId=None,):\n    self.reqSeq = reqSeq\n    self.roomId = roomId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.roomId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('leaveRoom_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.roomId is not None:\n      oprot.writeFieldBegin('roomId', TType.STRING, 2)\n      oprot.writeString(self.roomId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.roomId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass leaveRoom_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('leaveRoom_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithIdentityCredential_args:\n  \"\"\"\n  Attributes:\n   - identityProvider\n   - identifier\n   - password\n   - keepLoggedIn\n   - accessLocation\n   - systemName\n   - certificate\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.STRING, 'identifier', None, None, ), # 3\n    (4, TType.STRING, 'password', None, None, ), # 4\n    (5, TType.BOOL, 'keepLoggedIn', None, None, ), # 5\n    (6, TType.STRING, 'accessLocation', None, None, ), # 6\n    (7, TType.STRING, 'systemName', None, None, ), # 7\n    (8, TType.I32, 'identityProvider', None, None, ), # 8\n    (9, TType.STRING, 'certificate', None, None, ), # 9\n  )\n\n  def __init__(self, identityProvider=None, identifier=None, password=None, keepLoggedIn=None, accessLocation=None, systemName=None, certificate=None,):\n    self.identityProvider = identityProvider\n    self.identifier = identifier\n    self.password = password\n    self.keepLoggedIn = keepLoggedIn\n    self.accessLocation = accessLocation\n    self.systemName = systemName\n    self.certificate = certificate\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 8:\n        if ftype == TType.I32:\n          self.identityProvider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.password = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.BOOL:\n          self.keepLoggedIn = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.accessLocation = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.STRING:\n          self.systemName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.STRING:\n          self.certificate = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithIdentityCredential_args')\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 3)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.password is not None:\n      oprot.writeFieldBegin('password', TType.STRING, 4)\n      oprot.writeString(self.password)\n      oprot.writeFieldEnd()\n    if self.keepLoggedIn is not None:\n      oprot.writeFieldBegin('keepLoggedIn', TType.BOOL, 5)\n      oprot.writeBool(self.keepLoggedIn)\n      oprot.writeFieldEnd()\n    if self.accessLocation is not None:\n      oprot.writeFieldBegin('accessLocation', TType.STRING, 6)\n      oprot.writeString(self.accessLocation)\n      oprot.writeFieldEnd()\n    if self.systemName is not None:\n      oprot.writeFieldBegin('systemName', TType.STRING, 7)\n      oprot.writeString(self.systemName)\n      oprot.writeFieldEnd()\n    if self.identityProvider is not None:\n      oprot.writeFieldBegin('identityProvider', TType.I32, 8)\n      oprot.writeI32(self.identityProvider)\n      oprot.writeFieldEnd()\n    if self.certificate is not None:\n      oprot.writeFieldBegin('certificate', TType.STRING, 9)\n      oprot.writeString(self.certificate)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.identityProvider)\n    value = (value * 31) ^ hash(self.identifier)\n    value = (value * 31) ^ hash(self.password)\n    value = (value * 31) ^ hash(self.keepLoggedIn)\n    value = (value * 31) ^ hash(self.accessLocation)\n    value = (value * 31) ^ hash(self.systemName)\n    value = (value * 31) ^ hash(self.certificate)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithIdentityCredential_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithIdentityCredential_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithIdentityCredentialForCertificate_args:\n  \"\"\"\n  Attributes:\n   - identityProvider\n   - identifier\n   - password\n   - keepLoggedIn\n   - accessLocation\n   - systemName\n   - certificate\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.STRING, 'identifier', None, None, ), # 3\n    (4, TType.STRING, 'password', None, None, ), # 4\n    (5, TType.BOOL, 'keepLoggedIn', None, None, ), # 5\n    (6, TType.STRING, 'accessLocation', None, None, ), # 6\n    (7, TType.STRING, 'systemName', None, None, ), # 7\n    (8, TType.I32, 'identityProvider', None, None, ), # 8\n    (9, TType.STRING, 'certificate', None, None, ), # 9\n  )\n\n  def __init__(self, identityProvider=None, identifier=None, password=None, keepLoggedIn=None, accessLocation=None, systemName=None, certificate=None,):\n    self.identityProvider = identityProvider\n    self.identifier = identifier\n    self.password = password\n    self.keepLoggedIn = keepLoggedIn\n    self.accessLocation = accessLocation\n    self.systemName = systemName\n    self.certificate = certificate\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 8:\n        if ftype == TType.I32:\n          self.identityProvider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.password = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.BOOL:\n          self.keepLoggedIn = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.accessLocation = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.STRING:\n          self.systemName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.STRING:\n          self.certificate = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithIdentityCredentialForCertificate_args')\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 3)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.password is not None:\n      oprot.writeFieldBegin('password', TType.STRING, 4)\n      oprot.writeString(self.password)\n      oprot.writeFieldEnd()\n    if self.keepLoggedIn is not None:\n      oprot.writeFieldBegin('keepLoggedIn', TType.BOOL, 5)\n      oprot.writeBool(self.keepLoggedIn)\n      oprot.writeFieldEnd()\n    if self.accessLocation is not None:\n      oprot.writeFieldBegin('accessLocation', TType.STRING, 6)\n      oprot.writeString(self.accessLocation)\n      oprot.writeFieldEnd()\n    if self.systemName is not None:\n      oprot.writeFieldBegin('systemName', TType.STRING, 7)\n      oprot.writeString(self.systemName)\n      oprot.writeFieldEnd()\n    if self.identityProvider is not None:\n      oprot.writeFieldBegin('identityProvider', TType.I32, 8)\n      oprot.writeI32(self.identityProvider)\n      oprot.writeFieldEnd()\n    if self.certificate is not None:\n      oprot.writeFieldBegin('certificate', TType.STRING, 9)\n      oprot.writeString(self.certificate)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.identityProvider)\n    value = (value * 31) ^ hash(self.identifier)\n    value = (value * 31) ^ hash(self.password)\n    value = (value * 31) ^ hash(self.keepLoggedIn)\n    value = (value * 31) ^ hash(self.accessLocation)\n    value = (value * 31) ^ hash(self.systemName)\n    value = (value * 31) ^ hash(self.certificate)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithIdentityCredentialForCertificate_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (LoginResult, LoginResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = LoginResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithIdentityCredentialForCertificate_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithVerifier_args:\n  \"\"\"\n  Attributes:\n   - verifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.STRING, 'verifier', None, None, ), # 3\n  )\n\n  def __init__(self, verifier=None,):\n    self.verifier = verifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithVerifier_args')\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 3)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.verifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithVerifier_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithVerifier_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithVerifierForCerificate_args:\n  \"\"\"\n  Attributes:\n   - verifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.STRING, 'verifier', None, None, ), # 3\n  )\n\n  def __init__(self, verifier=None,):\n    self.verifier = verifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithVerifierForCerificate_args')\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 3)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.verifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithVerifierForCerificate_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (LoginResult, LoginResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = LoginResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithVerifierForCerificate_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithVerifierForCertificate_args:\n  \"\"\"\n  Attributes:\n   - verifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.STRING, 'verifier', None, None, ), # 3\n  )\n\n  def __init__(self, verifier=None,):\n    self.verifier = verifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithVerifierForCertificate_args')\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 3)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.verifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass loginWithVerifierForCertificate_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (LoginResult, LoginResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = LoginResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('loginWithVerifierForCertificate_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass logout_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('logout_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass logout_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('logout_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass logoutSession_args:\n  \"\"\"\n  Attributes:\n   - tokenKey\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'tokenKey', None, None, ), # 2\n  )\n\n  def __init__(self, tokenKey=None,):\n    self.tokenKey = tokenKey\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.tokenKey = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('logoutSession_args')\n    if self.tokenKey is not None:\n      oprot.writeFieldBegin('tokenKey', TType.STRING, 2)\n      oprot.writeString(self.tokenKey)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.tokenKey)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass logoutSession_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('logoutSession_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass noop_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('noop_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass noop_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('noop_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifiedRedirect_args:\n  \"\"\"\n  Attributes:\n   - paramMap\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.MAP, 'paramMap', (TType.STRING,None,TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, paramMap=None,):\n    self.paramMap = paramMap\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.MAP:\n          self.paramMap = {}\n          (_ktype1123, _vtype1124, _size1122 ) = iprot.readMapBegin()\n          for _i1126 in xrange(_size1122):\n            _key1127 = iprot.readString()\n            _val1128 = iprot.readString()\n            self.paramMap[_key1127] = _val1128\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifiedRedirect_args')\n    if self.paramMap is not None:\n      oprot.writeFieldBegin('paramMap', TType.MAP, 2)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.paramMap))\n      for kiter1129,viter1130 in self.paramMap.items():\n        oprot.writeString(kiter1129)\n        oprot.writeString(viter1130)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.paramMap)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifiedRedirect_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifiedRedirect_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyBuddyOnAir_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - receiverMids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.LIST, 'receiverMids', (TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, seq=None, receiverMids=None,):\n    self.seq = seq\n    self.receiverMids = receiverMids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.receiverMids = []\n          (_etype1134, _size1131) = iprot.readListBegin()\n          for _i1135 in xrange(_size1131):\n            _elem1136 = iprot.readString()\n            self.receiverMids.append(_elem1136)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyBuddyOnAir_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.receiverMids is not None:\n      oprot.writeFieldBegin('receiverMids', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRING, len(self.receiverMids))\n      for iter1137 in self.receiverMids:\n        oprot.writeString(iter1137)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.receiverMids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyBuddyOnAir_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype1139, _vtype1140, _size1138 ) = iprot.readMapBegin()\n          for _i1142 in xrange(_size1138):\n            _key1143 = iprot.readString()\n            _val1144 = iprot.readString()\n            self.success[_key1143] = _val1144\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyBuddyOnAir_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.success))\n      for kiter1145,viter1146 in self.success.items():\n        oprot.writeString(kiter1145)\n        oprot.writeString(viter1146)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyIndividualEvent_args:\n  \"\"\"\n  Attributes:\n   - notificationStatus\n   - receiverMids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'notificationStatus', None, None, ), # 2\n    (3, TType.LIST, 'receiverMids', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, notificationStatus=None, receiverMids=None,):\n    self.notificationStatus = notificationStatus\n    self.receiverMids = receiverMids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.notificationStatus = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.receiverMids = []\n          (_etype1150, _size1147) = iprot.readListBegin()\n          for _i1151 in xrange(_size1147):\n            _elem1152 = iprot.readString()\n            self.receiverMids.append(_elem1152)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyIndividualEvent_args')\n    if self.notificationStatus is not None:\n      oprot.writeFieldBegin('notificationStatus', TType.I32, 2)\n      oprot.writeI32(self.notificationStatus)\n      oprot.writeFieldEnd()\n    if self.receiverMids is not None:\n      oprot.writeFieldBegin('receiverMids', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.receiverMids))\n      for iter1153 in self.receiverMids:\n        oprot.writeString(iter1153)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.notificationStatus)\n    value = (value * 31) ^ hash(self.receiverMids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyIndividualEvent_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyIndividualEvent_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyInstalled_args:\n  \"\"\"\n  Attributes:\n   - udidHash\n   - applicationTypeWithExtensions\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'udidHash', None, None, ), # 2\n    (3, TType.STRING, 'applicationTypeWithExtensions', None, None, ), # 3\n  )\n\n  def __init__(self, udidHash=None, applicationTypeWithExtensions=None,):\n    self.udidHash = udidHash\n    self.applicationTypeWithExtensions = applicationTypeWithExtensions\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.applicationTypeWithExtensions = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyInstalled_args')\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 2)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    if self.applicationTypeWithExtensions is not None:\n      oprot.writeFieldBegin('applicationTypeWithExtensions', TType.STRING, 3)\n      oprot.writeString(self.applicationTypeWithExtensions)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.udidHash)\n    value = (value * 31) ^ hash(self.applicationTypeWithExtensions)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyInstalled_result:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyInstalled_result')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyRegistrationComplete_args:\n  \"\"\"\n  Attributes:\n   - udidHash\n   - applicationTypeWithExtensions\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'udidHash', None, None, ), # 2\n    (3, TType.STRING, 'applicationTypeWithExtensions', None, None, ), # 3\n  )\n\n  def __init__(self, udidHash=None, applicationTypeWithExtensions=None,):\n    self.udidHash = udidHash\n    self.applicationTypeWithExtensions = applicationTypeWithExtensions\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.applicationTypeWithExtensions = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyRegistrationComplete_args')\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 2)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    if self.applicationTypeWithExtensions is not None:\n      oprot.writeFieldBegin('applicationTypeWithExtensions', TType.STRING, 3)\n      oprot.writeString(self.applicationTypeWithExtensions)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.udidHash)\n    value = (value * 31) ^ hash(self.applicationTypeWithExtensions)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyRegistrationComplete_result:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyRegistrationComplete_result')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifySleep_args:\n  \"\"\"\n  Attributes:\n   - lastRev\n   - badge\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'lastRev', None, None, ), # 2\n    (3, TType.I32, 'badge', None, None, ), # 3\n  )\n\n  def __init__(self, lastRev=None, badge=None,):\n    self.lastRev = lastRev\n    self.badge = badge\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.lastRev = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.badge = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifySleep_args')\n    if self.lastRev is not None:\n      oprot.writeFieldBegin('lastRev', TType.I64, 2)\n      oprot.writeI64(self.lastRev)\n      oprot.writeFieldEnd()\n    if self.badge is not None:\n      oprot.writeFieldBegin('badge', TType.I32, 3)\n      oprot.writeI32(self.badge)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.lastRev)\n    value = (value * 31) ^ hash(self.badge)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifySleep_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifySleep_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyUpdated_args:\n  \"\"\"\n  Attributes:\n   - lastRev\n   - deviceInfo\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'lastRev', None, None, ), # 2\n    (3, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 3\n  )\n\n  def __init__(self, lastRev=None, deviceInfo=None,):\n    self.lastRev = lastRev\n    self.deviceInfo = deviceInfo\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.lastRev = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyUpdated_args')\n    if self.lastRev is not None:\n      oprot.writeFieldBegin('lastRev', TType.I64, 2)\n      oprot.writeI64(self.lastRev)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 3)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.lastRev)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notifyUpdated_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notifyUpdated_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass openProximityMatch_args:\n  \"\"\"\n  Attributes:\n   - location\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'location', (Location, Location.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, location=None,):\n    self.location = location\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.location = Location()\n          self.location.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('openProximityMatch_args')\n    if self.location is not None:\n      oprot.writeFieldBegin('location', TType.STRUCT, 2)\n      self.location.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.location)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass openProximityMatch_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('openProximityMatch_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerBuddyUser_args:\n  \"\"\"\n  Attributes:\n   - buddyId\n   - registrarPassword\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'buddyId', None, None, ), # 2\n    (3, TType.STRING, 'registrarPassword', None, None, ), # 3\n  )\n\n  def __init__(self, buddyId=None, registrarPassword=None,):\n    self.buddyId = buddyId\n    self.registrarPassword = registrarPassword\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.buddyId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.registrarPassword = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerBuddyUser_args')\n    if self.buddyId is not None:\n      oprot.writeFieldBegin('buddyId', TType.STRING, 2)\n      oprot.writeString(self.buddyId)\n      oprot.writeFieldEnd()\n    if self.registrarPassword is not None:\n      oprot.writeFieldBegin('registrarPassword', TType.STRING, 3)\n      oprot.writeString(self.registrarPassword)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyId)\n    value = (value * 31) ^ hash(self.registrarPassword)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerBuddyUser_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerBuddyUser_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerBuddyUserid_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - userid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'seq', None, None, ), # 2\n    (3, TType.STRING, 'userid', None, None, ), # 3\n  )\n\n  def __init__(self, seq=None, userid=None,):\n    self.seq = seq\n    self.userid = userid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.userid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerBuddyUserid_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 2)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.userid is not None:\n      oprot.writeFieldBegin('userid', TType.STRING, 3)\n      oprot.writeString(self.userid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.userid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerBuddyUserid_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerBuddyUserid_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerDevice_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n  )\n\n  def __init__(self, sessionId=None,):\n    self.sessionId = sessionId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerDevice_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerDevice_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerDevice_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerDeviceWithIdentityCredential_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n   - provider\n   - identifier\n   - verifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n    (3, TType.STRING, 'identifier', None, None, ), # 3\n    (4, TType.STRING, 'verifier', None, None, ), # 4\n    (5, TType.I32, 'provider', None, None, ), # 5\n  )\n\n  def __init__(self, sessionId=None, provider=None, identifier=None, verifier=None,):\n    self.sessionId = sessionId\n    self.provider = provider\n    self.identifier = identifier\n    self.verifier = verifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.provider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerDeviceWithIdentityCredential_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 3)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 4)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    if self.provider is not None:\n      oprot.writeFieldBegin('provider', TType.I32, 5)\n      oprot.writeI32(self.provider)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    value = (value * 31) ^ hash(self.provider)\n    value = (value * 31) ^ hash(self.identifier)\n    value = (value * 31) ^ hash(self.verifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerDeviceWithIdentityCredential_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerDeviceWithIdentityCredential_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerDeviceWithoutPhoneNumber_args:\n  \"\"\"\n  Attributes:\n   - region\n   - udidHash\n   - deviceInfo\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'region', None, None, ), # 2\n    (3, TType.STRING, 'udidHash', None, None, ), # 3\n    (4, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 4\n  )\n\n  def __init__(self, region=None, udidHash=None, deviceInfo=None,):\n    self.region = region\n    self.udidHash = udidHash\n    self.deviceInfo = deviceInfo\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.region = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerDeviceWithoutPhoneNumber_args')\n    if self.region is not None:\n      oprot.writeFieldBegin('region', TType.STRING, 2)\n      oprot.writeString(self.region)\n      oprot.writeFieldEnd()\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 3)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 4)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.region)\n    value = (value * 31) ^ hash(self.udidHash)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerDeviceWithoutPhoneNumber_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerDeviceWithoutPhoneNumber_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerDeviceWithoutPhoneNumberWithIdentityCredential_args:\n  \"\"\"\n  Attributes:\n   - region\n   - udidHash\n   - deviceInfo\n   - provider\n   - identifier\n   - verifier\n   - mid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'region', None, None, ), # 2\n    (3, TType.STRING, 'udidHash', None, None, ), # 3\n    (4, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 4\n    (5, TType.I32, 'provider', None, None, ), # 5\n    (6, TType.STRING, 'identifier', None, None, ), # 6\n    (7, TType.STRING, 'verifier', None, None, ), # 7\n    (8, TType.STRING, 'mid', None, None, ), # 8\n  )\n\n  def __init__(self, region=None, udidHash=None, deviceInfo=None, provider=None, identifier=None, verifier=None, mid=None,):\n    self.region = region\n    self.udidHash = udidHash\n    self.deviceInfo = deviceInfo\n    self.provider = provider\n    self.identifier = identifier\n    self.verifier = verifier\n    self.mid = mid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.region = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.provider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerDeviceWithoutPhoneNumberWithIdentityCredential_args')\n    if self.region is not None:\n      oprot.writeFieldBegin('region', TType.STRING, 2)\n      oprot.writeString(self.region)\n      oprot.writeFieldEnd()\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 3)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 4)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    if self.provider is not None:\n      oprot.writeFieldBegin('provider', TType.I32, 5)\n      oprot.writeI32(self.provider)\n      oprot.writeFieldEnd()\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 6)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 7)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 8)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.region)\n    value = (value * 31) ^ hash(self.udidHash)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    value = (value * 31) ^ hash(self.provider)\n    value = (value * 31) ^ hash(self.identifier)\n    value = (value * 31) ^ hash(self.verifier)\n    value = (value * 31) ^ hash(self.mid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerDeviceWithoutPhoneNumberWithIdentityCredential_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerDeviceWithoutPhoneNumberWithIdentityCredential_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerUserid_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - userid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'userid', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, userid=None,):\n    self.reqSeq = reqSeq\n    self.userid = userid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.userid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerUserid_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.userid is not None:\n      oprot.writeFieldBegin('userid', TType.STRING, 2)\n      oprot.writeString(self.userid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.userid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerUserid_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.BOOL, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.BOOL:\n          self.success = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerUserid_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.BOOL, 0)\n      oprot.writeBool(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerWapDevice_args:\n  \"\"\"\n  Attributes:\n   - invitationHash\n   - guidHash\n   - email\n   - deviceInfo\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'invitationHash', None, None, ), # 2\n    (3, TType.STRING, 'guidHash', None, None, ), # 3\n    (4, TType.STRING, 'email', None, None, ), # 4\n    (5, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 5\n  )\n\n  def __init__(self, invitationHash=None, guidHash=None, email=None, deviceInfo=None,):\n    self.invitationHash = invitationHash\n    self.guidHash = guidHash\n    self.email = email\n    self.deviceInfo = deviceInfo\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.invitationHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.guidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.email = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerWapDevice_args')\n    if self.invitationHash is not None:\n      oprot.writeFieldBegin('invitationHash', TType.STRING, 2)\n      oprot.writeString(self.invitationHash)\n      oprot.writeFieldEnd()\n    if self.guidHash is not None:\n      oprot.writeFieldBegin('guidHash', TType.STRING, 3)\n      oprot.writeString(self.guidHash)\n      oprot.writeFieldEnd()\n    if self.email is not None:\n      oprot.writeFieldBegin('email', TType.STRING, 4)\n      oprot.writeString(self.email)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 5)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.invitationHash)\n    value = (value * 31) ^ hash(self.guidHash)\n    value = (value * 31) ^ hash(self.email)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerWapDevice_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerWapDevice_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerWithExistingSnsIdAndIdentityCredential_args:\n  \"\"\"\n  Attributes:\n   - identityCredential\n   - region\n   - udidHash\n   - deviceInfo\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'identityCredential', (IdentityCredential, IdentityCredential.thrift_spec), None, ), # 2\n    (3, TType.STRING, 'region', None, None, ), # 3\n    (4, TType.STRING, 'udidHash', None, None, ), # 4\n    (5, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 5\n  )\n\n  def __init__(self, identityCredential=None, region=None, udidHash=None, deviceInfo=None,):\n    self.identityCredential = identityCredential\n    self.region = region\n    self.udidHash = udidHash\n    self.deviceInfo = deviceInfo\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.identityCredential = IdentityCredential()\n          self.identityCredential.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.region = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerWithExistingSnsIdAndIdentityCredential_args')\n    if self.identityCredential is not None:\n      oprot.writeFieldBegin('identityCredential', TType.STRUCT, 2)\n      self.identityCredential.write(oprot)\n      oprot.writeFieldEnd()\n    if self.region is not None:\n      oprot.writeFieldBegin('region', TType.STRING, 3)\n      oprot.writeString(self.region)\n      oprot.writeFieldEnd()\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 4)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 5)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.identityCredential)\n    value = (value * 31) ^ hash(self.region)\n    value = (value * 31) ^ hash(self.udidHash)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerWithExistingSnsIdAndIdentityCredential_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerWithExistingSnsIdAndIdentityCredential_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerWithSnsId_args:\n  \"\"\"\n  Attributes:\n   - snsIdType\n   - snsAccessToken\n   - region\n   - udidHash\n   - deviceInfo\n   - mid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'snsIdType', None, None, ), # 2\n    (3, TType.STRING, 'snsAccessToken', None, None, ), # 3\n    (4, TType.STRING, 'region', None, None, ), # 4\n    (5, TType.STRING, 'udidHash', None, None, ), # 5\n    (6, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 6\n    (7, TType.STRING, 'mid', None, None, ), # 7\n  )\n\n  def __init__(self, snsIdType=None, snsAccessToken=None, region=None, udidHash=None, deviceInfo=None, mid=None,):\n    self.snsIdType = snsIdType\n    self.snsAccessToken = snsAccessToken\n    self.region = region\n    self.udidHash = udidHash\n    self.deviceInfo = deviceInfo\n    self.mid = mid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.snsAccessToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.region = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerWithSnsId_args')\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 2)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    if self.snsAccessToken is not None:\n      oprot.writeFieldBegin('snsAccessToken', TType.STRING, 3)\n      oprot.writeString(self.snsAccessToken)\n      oprot.writeFieldEnd()\n    if self.region is not None:\n      oprot.writeFieldBegin('region', TType.STRING, 4)\n      oprot.writeString(self.region)\n      oprot.writeFieldEnd()\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 5)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 6)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 7)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsIdType)\n    value = (value * 31) ^ hash(self.snsAccessToken)\n    value = (value * 31) ^ hash(self.region)\n    value = (value * 31) ^ hash(self.udidHash)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    value = (value * 31) ^ hash(self.mid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerWithSnsId_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (RegisterWithSnsIdResult, RegisterWithSnsIdResult.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = RegisterWithSnsIdResult()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerWithSnsId_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerWithSnsIdAndIdentityCredential_args:\n  \"\"\"\n  Attributes:\n   - snsIdType\n   - snsAccessToken\n   - identityCredential\n   - region\n   - udidHash\n   - deviceInfo\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'snsIdType', None, None, ), # 2\n    (3, TType.STRING, 'snsAccessToken', None, None, ), # 3\n    (4, TType.STRUCT, 'identityCredential', (IdentityCredential, IdentityCredential.thrift_spec), None, ), # 4\n    (5, TType.STRING, 'region', None, None, ), # 5\n    (6, TType.STRING, 'udidHash', None, None, ), # 6\n    (7, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 7\n  )\n\n  def __init__(self, snsIdType=None, snsAccessToken=None, identityCredential=None, region=None, udidHash=None, deviceInfo=None,):\n    self.snsIdType = snsIdType\n    self.snsAccessToken = snsAccessToken\n    self.identityCredential = identityCredential\n    self.region = region\n    self.udidHash = udidHash\n    self.deviceInfo = deviceInfo\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.snsAccessToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRUCT:\n          self.identityCredential = IdentityCredential()\n          self.identityCredential.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.region = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerWithSnsIdAndIdentityCredential_args')\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 2)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    if self.snsAccessToken is not None:\n      oprot.writeFieldBegin('snsAccessToken', TType.STRING, 3)\n      oprot.writeString(self.snsAccessToken)\n      oprot.writeFieldEnd()\n    if self.identityCredential is not None:\n      oprot.writeFieldBegin('identityCredential', TType.STRUCT, 4)\n      self.identityCredential.write(oprot)\n      oprot.writeFieldEnd()\n    if self.region is not None:\n      oprot.writeFieldBegin('region', TType.STRING, 5)\n      oprot.writeString(self.region)\n      oprot.writeFieldEnd()\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 6)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 7)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsIdType)\n    value = (value * 31) ^ hash(self.snsAccessToken)\n    value = (value * 31) ^ hash(self.identityCredential)\n    value = (value * 31) ^ hash(self.region)\n    value = (value * 31) ^ hash(self.udidHash)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass registerWithSnsIdAndIdentityCredential_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('registerWithSnsIdAndIdentityCredential_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reissueDeviceCredential_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reissueDeviceCredential_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reissueDeviceCredential_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reissueDeviceCredential_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reissueUserTicket_args:\n  \"\"\"\n  Attributes:\n   - expirationTime\n   - maxUseCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.I64, 'expirationTime', None, None, ), # 3\n    (4, TType.I32, 'maxUseCount', None, None, ), # 4\n  )\n\n  def __init__(self, expirationTime=None, maxUseCount=None,):\n    self.expirationTime = expirationTime\n    self.maxUseCount = maxUseCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.I64:\n          self.expirationTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.maxUseCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reissueUserTicket_args')\n    if self.expirationTime is not None:\n      oprot.writeFieldBegin('expirationTime', TType.I64, 3)\n      oprot.writeI64(self.expirationTime)\n      oprot.writeFieldEnd()\n    if self.maxUseCount is not None:\n      oprot.writeFieldBegin('maxUseCount', TType.I32, 4)\n      oprot.writeI32(self.maxUseCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.expirationTime)\n    value = (value * 31) ^ hash(self.maxUseCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reissueUserTicket_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reissueUserTicket_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reissueGroupTicket_args:\n  \"\"\"\n  Attributes:\n   - groupId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'groupId', None, None, ), # 1\n  )\n\n  def __init__(self, groupId=None,):\n    self.groupId = groupId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reissueGroupTicket_args')\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 1)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.groupId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reissueGroupTicket_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reissueGroupTicket_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass rejectGroupInvitation_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - groupId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'groupId', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, groupId=None,):\n    self.reqSeq = reqSeq\n    self.groupId = groupId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.groupId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('rejectGroupInvitation_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.groupId is not None:\n      oprot.writeFieldBegin('groupId', TType.STRING, 2)\n      oprot.writeString(self.groupId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.groupId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass rejectGroupInvitation_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('rejectGroupInvitation_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass releaseSession_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('releaseSession_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass releaseSession_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('releaseSession_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeAllMessages_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - lastMessageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRING, 'lastMessageId', None, None, ), # 2\n  )\n\n  def __init__(self, seq=None, lastMessageId=None,):\n    self.seq = seq\n    self.lastMessageId = lastMessageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.lastMessageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeAllMessages_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.lastMessageId is not None:\n      oprot.writeFieldBegin('lastMessageId', TType.STRING, 2)\n      oprot.writeString(self.lastMessageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.lastMessageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeAllMessages_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeAllMessages_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeBuddyLocation_args:\n  \"\"\"\n  Attributes:\n   - mid\n   - index\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n    (3, TType.I32, 'index', None, None, ), # 3\n  )\n\n  def __init__(self, mid=None, index=None,):\n    self.mid = mid\n    self.index = index\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.index = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeBuddyLocation_args')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.index is not None:\n      oprot.writeFieldBegin('index', TType.I32, 3)\n      oprot.writeI32(self.index)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.index)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeBuddyLocation_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeBuddyLocation_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeMessage_args:\n  \"\"\"\n  Attributes:\n   - messageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'messageId', None, None, ), # 2\n  )\n\n  def __init__(self, messageId=None,):\n    self.messageId = messageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.messageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeMessage_args')\n    if self.messageId is not None:\n      oprot.writeFieldBegin('messageId', TType.STRING, 2)\n      oprot.writeString(self.messageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.messageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeMessage_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.BOOL, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.BOOL:\n          self.success = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeMessage_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.BOOL, 0)\n      oprot.writeBool(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeMessageFromMyHome_args:\n  \"\"\"\n  Attributes:\n   - messageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'messageId', None, None, ), # 2\n  )\n\n  def __init__(self, messageId=None,):\n    self.messageId = messageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.messageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeMessageFromMyHome_args')\n    if self.messageId is not None:\n      oprot.writeFieldBegin('messageId', TType.STRING, 2)\n      oprot.writeString(self.messageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.messageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeMessageFromMyHome_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.BOOL, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.BOOL:\n          self.success = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeMessageFromMyHome_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.BOOL, 0)\n      oprot.writeBool(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeSnsId_args:\n  \"\"\"\n  Attributes:\n   - snsIdType\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'snsIdType', None, None, ), # 2\n  )\n\n  def __init__(self, snsIdType=None,):\n    self.snsIdType = snsIdType\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeSnsId_args')\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 2)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsIdType)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass removeSnsId_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('removeSnsId_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass report_args:\n  \"\"\"\n  Attributes:\n   - syncOpRevision\n   - category\n   - report\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'syncOpRevision', None, None, ), # 2\n    (3, TType.I32, 'category', None, None, ), # 3\n    (4, TType.STRING, 'report', None, None, ), # 4\n  )\n\n  def __init__(self, syncOpRevision=None, category=None, report=None,):\n    self.syncOpRevision = syncOpRevision\n    self.category = category\n    self.report = report\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.syncOpRevision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.category = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.report = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('report_args')\n    if self.syncOpRevision is not None:\n      oprot.writeFieldBegin('syncOpRevision', TType.I64, 2)\n      oprot.writeI64(self.syncOpRevision)\n      oprot.writeFieldEnd()\n    if self.category is not None:\n      oprot.writeFieldBegin('category', TType.I32, 3)\n      oprot.writeI32(self.category)\n      oprot.writeFieldEnd()\n    if self.report is not None:\n      oprot.writeFieldBegin('report', TType.STRING, 4)\n      oprot.writeString(self.report)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.syncOpRevision)\n    value = (value * 31) ^ hash(self.category)\n    value = (value * 31) ^ hash(self.report)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass report_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('report_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportContacts_args:\n  \"\"\"\n  Attributes:\n   - syncOpRevision\n   - category\n   - contactReports\n   - actionType\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'syncOpRevision', None, None, ), # 2\n    (3, TType.I32, 'category', None, None, ), # 3\n    (4, TType.LIST, 'contactReports', (TType.STRUCT,(ContactReport, ContactReport.thrift_spec)), None, ), # 4\n    (5, TType.I32, 'actionType', None, None, ), # 5\n  )\n\n  def __init__(self, syncOpRevision=None, category=None, contactReports=None, actionType=None,):\n    self.syncOpRevision = syncOpRevision\n    self.category = category\n    self.contactReports = contactReports\n    self.actionType = actionType\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.syncOpRevision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.category = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.LIST:\n          self.contactReports = []\n          (_etype1157, _size1154) = iprot.readListBegin()\n          for _i1158 in xrange(_size1154):\n            _elem1159 = ContactReport()\n            _elem1159.read(iprot)\n            self.contactReports.append(_elem1159)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.actionType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportContacts_args')\n    if self.syncOpRevision is not None:\n      oprot.writeFieldBegin('syncOpRevision', TType.I64, 2)\n      oprot.writeI64(self.syncOpRevision)\n      oprot.writeFieldEnd()\n    if self.category is not None:\n      oprot.writeFieldBegin('category', TType.I32, 3)\n      oprot.writeI32(self.category)\n      oprot.writeFieldEnd()\n    if self.contactReports is not None:\n      oprot.writeFieldBegin('contactReports', TType.LIST, 4)\n      oprot.writeListBegin(TType.STRUCT, len(self.contactReports))\n      for iter1160 in self.contactReports:\n        iter1160.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.actionType is not None:\n      oprot.writeFieldBegin('actionType', TType.I32, 5)\n      oprot.writeI32(self.actionType)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.syncOpRevision)\n    value = (value * 31) ^ hash(self.category)\n    value = (value * 31) ^ hash(self.contactReports)\n    value = (value * 31) ^ hash(self.actionType)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportContacts_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(ContactReportResult, ContactReportResult.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1164, _size1161) = iprot.readListBegin()\n          for _i1165 in xrange(_size1161):\n            _elem1166 = ContactReportResult()\n            _elem1166.read(iprot)\n            self.success.append(_elem1166)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportContacts_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1167 in self.success:\n        iter1167.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportGroups_args:\n  \"\"\"\n  Attributes:\n   - syncOpRevision\n   - groups\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'syncOpRevision', None, None, ), # 2\n    (3, TType.LIST, 'groups', (TType.STRUCT,(Group, Group.thrift_spec)), None, ), # 3\n  )\n\n  def __init__(self, syncOpRevision=None, groups=None,):\n    self.syncOpRevision = syncOpRevision\n    self.groups = groups\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.syncOpRevision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.groups = []\n          (_etype1171, _size1168) = iprot.readListBegin()\n          for _i1172 in xrange(_size1168):\n            _elem1173 = Group()\n            _elem1173.read(iprot)\n            self.groups.append(_elem1173)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportGroups_args')\n    if self.syncOpRevision is not None:\n      oprot.writeFieldBegin('syncOpRevision', TType.I64, 2)\n      oprot.writeI64(self.syncOpRevision)\n      oprot.writeFieldEnd()\n    if self.groups is not None:\n      oprot.writeFieldBegin('groups', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRUCT, len(self.groups))\n      for iter1174 in self.groups:\n        iter1174.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.syncOpRevision)\n    value = (value * 31) ^ hash(self.groups)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportGroups_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportGroups_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportProfile_args:\n  \"\"\"\n  Attributes:\n   - syncOpRevision\n   - profile\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'syncOpRevision', None, None, ), # 2\n    (3, TType.STRUCT, 'profile', (Profile, Profile.thrift_spec), None, ), # 3\n  )\n\n  def __init__(self, syncOpRevision=None, profile=None,):\n    self.syncOpRevision = syncOpRevision\n    self.profile = profile\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.syncOpRevision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRUCT:\n          self.profile = Profile()\n          self.profile.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportProfile_args')\n    if self.syncOpRevision is not None:\n      oprot.writeFieldBegin('syncOpRevision', TType.I64, 2)\n      oprot.writeI64(self.syncOpRevision)\n      oprot.writeFieldEnd()\n    if self.profile is not None:\n      oprot.writeFieldBegin('profile', TType.STRUCT, 3)\n      self.profile.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.syncOpRevision)\n    value = (value * 31) ^ hash(self.profile)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportProfile_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportProfile_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportRooms_args:\n  \"\"\"\n  Attributes:\n   - syncOpRevision\n   - rooms\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'syncOpRevision', None, None, ), # 2\n    (3, TType.LIST, 'rooms', (TType.STRUCT,(Room, Room.thrift_spec)), None, ), # 3\n  )\n\n  def __init__(self, syncOpRevision=None, rooms=None,):\n    self.syncOpRevision = syncOpRevision\n    self.rooms = rooms\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.syncOpRevision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.rooms = []\n          (_etype1178, _size1175) = iprot.readListBegin()\n          for _i1179 in xrange(_size1175):\n            _elem1180 = Room()\n            _elem1180.read(iprot)\n            self.rooms.append(_elem1180)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportRooms_args')\n    if self.syncOpRevision is not None:\n      oprot.writeFieldBegin('syncOpRevision', TType.I64, 2)\n      oprot.writeI64(self.syncOpRevision)\n      oprot.writeFieldEnd()\n    if self.rooms is not None:\n      oprot.writeFieldBegin('rooms', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRUCT, len(self.rooms))\n      for iter1181 in self.rooms:\n        iter1181.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.syncOpRevision)\n    value = (value * 31) ^ hash(self.rooms)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportRooms_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportRooms_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportSettings_args:\n  \"\"\"\n  Attributes:\n   - syncOpRevision\n   - settings\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I64, 'syncOpRevision', None, None, ), # 2\n    (3, TType.STRUCT, 'settings', (Settings, Settings.thrift_spec), None, ), # 3\n  )\n\n  def __init__(self, syncOpRevision=None, settings=None,):\n    self.syncOpRevision = syncOpRevision\n    self.settings = settings\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I64:\n          self.syncOpRevision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRUCT:\n          self.settings = Settings()\n          self.settings.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportSettings_args')\n    if self.syncOpRevision is not None:\n      oprot.writeFieldBegin('syncOpRevision', TType.I64, 2)\n      oprot.writeI64(self.syncOpRevision)\n      oprot.writeFieldEnd()\n    if self.settings is not None:\n      oprot.writeFieldBegin('settings', TType.STRUCT, 3)\n      self.settings.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.syncOpRevision)\n    value = (value * 31) ^ hash(self.settings)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportSettings_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportSettings_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportSpammer_args:\n  \"\"\"\n  Attributes:\n   - spammerMid\n   - spammerReasons\n   - spamMessageIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'spammerMid', None, None, ), # 2\n    (3, TType.LIST, 'spammerReasons', (TType.I32,None), None, ), # 3\n    (4, TType.LIST, 'spamMessageIds', (TType.STRING,None), None, ), # 4\n  )\n\n  def __init__(self, spammerMid=None, spammerReasons=None, spamMessageIds=None,):\n    self.spammerMid = spammerMid\n    self.spammerReasons = spammerReasons\n    self.spamMessageIds = spamMessageIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.spammerMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.spammerReasons = []\n          (_etype1185, _size1182) = iprot.readListBegin()\n          for _i1186 in xrange(_size1182):\n            _elem1187 = iprot.readI32()\n            self.spammerReasons.append(_elem1187)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.LIST:\n          self.spamMessageIds = []\n          (_etype1191, _size1188) = iprot.readListBegin()\n          for _i1192 in xrange(_size1188):\n            _elem1193 = iprot.readString()\n            self.spamMessageIds.append(_elem1193)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportSpammer_args')\n    if self.spammerMid is not None:\n      oprot.writeFieldBegin('spammerMid', TType.STRING, 2)\n      oprot.writeString(self.spammerMid)\n      oprot.writeFieldEnd()\n    if self.spammerReasons is not None:\n      oprot.writeFieldBegin('spammerReasons', TType.LIST, 3)\n      oprot.writeListBegin(TType.I32, len(self.spammerReasons))\n      for iter1194 in self.spammerReasons:\n        oprot.writeI32(iter1194)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.spamMessageIds is not None:\n      oprot.writeFieldBegin('spamMessageIds', TType.LIST, 4)\n      oprot.writeListBegin(TType.STRING, len(self.spamMessageIds))\n      for iter1195 in self.spamMessageIds:\n        oprot.writeString(iter1195)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.spammerMid)\n    value = (value * 31) ^ hash(self.spammerReasons)\n    value = (value * 31) ^ hash(self.spamMessageIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass reportSpammer_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('reportSpammer_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestAccountPasswordReset_args:\n  \"\"\"\n  Attributes:\n   - provider\n   - identifier\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'identifier', None, None, ), # 2\n    None, # 3\n    (4, TType.I32, 'provider', None, None, ), # 4\n    (5, TType.STRING, 'locale', None, None, ), # 5\n  )\n\n  def __init__(self, provider=None, identifier=None, locale=None,):\n    self.provider = provider\n    self.identifier = identifier\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 4:\n        if ftype == TType.I32:\n          self.provider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestAccountPasswordReset_args')\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 2)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.provider is not None:\n      oprot.writeFieldBegin('provider', TType.I32, 4)\n      oprot.writeI32(self.provider)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 5)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.provider)\n    value = (value * 31) ^ hash(self.identifier)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestAccountPasswordReset_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestAccountPasswordReset_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestEmailConfirmation_args:\n  \"\"\"\n  Attributes:\n   - emailConfirmation\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'emailConfirmation', (EmailConfirmation, EmailConfirmation.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, emailConfirmation=None,):\n    self.emailConfirmation = emailConfirmation\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.emailConfirmation = EmailConfirmation()\n          self.emailConfirmation.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestEmailConfirmation_args')\n    if self.emailConfirmation is not None:\n      oprot.writeFieldBegin('emailConfirmation', TType.STRUCT, 2)\n      self.emailConfirmation.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.emailConfirmation)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestEmailConfirmation_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (EmailConfirmationSession, EmailConfirmationSession.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = EmailConfirmationSession()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestEmailConfirmation_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestIdentityUnbind_args:\n  \"\"\"\n  Attributes:\n   - provider\n   - identifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'identifier', None, None, ), # 2\n    None, # 3\n    (4, TType.I32, 'provider', None, None, ), # 4\n  )\n\n  def __init__(self, provider=None, identifier=None,):\n    self.provider = provider\n    self.identifier = identifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 4:\n        if ftype == TType.I32:\n          self.provider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestIdentityUnbind_args')\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 2)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.provider is not None:\n      oprot.writeFieldBegin('provider', TType.I32, 4)\n      oprot.writeI32(self.provider)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.provider)\n    value = (value * 31) ^ hash(self.identifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass requestIdentityUnbind_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('requestIdentityUnbind_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass resendEmailConfirmation_args:\n  \"\"\"\n  Attributes:\n   - verifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'verifier', None, None, ), # 2\n  )\n\n  def __init__(self, verifier=None,):\n    self.verifier = verifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('resendEmailConfirmation_args')\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 2)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.verifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass resendEmailConfirmation_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (EmailConfirmationSession, EmailConfirmationSession.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = EmailConfirmationSession()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('resendEmailConfirmation_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass resendPinCode_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n  )\n\n  def __init__(self, sessionId=None,):\n    self.sessionId = sessionId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('resendPinCode_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass resendPinCode_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('resendPinCode_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass resendPinCodeBySMS_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n  )\n\n  def __init__(self, sessionId=None,):\n    self.sessionId = sessionId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('resendPinCodeBySMS_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass resendPinCodeBySMS_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('resendPinCodeBySMS_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendChatChecked_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - consumer\n   - lastMessageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRING, 'consumer', None, None, ), # 2\n    (3, TType.STRING, 'lastMessageId', None, None, ), # 3\n  )\n\n  def __init__(self, seq=None, consumer=None, lastMessageId=None,):\n    self.seq = seq\n    self.consumer = consumer\n    self.lastMessageId = lastMessageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.consumer = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.lastMessageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendChatChecked_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.consumer is not None:\n      oprot.writeFieldBegin('consumer', TType.STRING, 2)\n      oprot.writeString(self.consumer)\n      oprot.writeFieldEnd()\n    if self.lastMessageId is not None:\n      oprot.writeFieldBegin('lastMessageId', TType.STRING, 3)\n      oprot.writeString(self.lastMessageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.consumer)\n    value = (value * 31) ^ hash(self.lastMessageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendChatChecked_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendChatChecked_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendChatRemoved_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - consumer\n   - lastMessageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRING, 'consumer', None, None, ), # 2\n    (3, TType.STRING, 'lastMessageId', None, None, ), # 3\n  )\n\n  def __init__(self, seq=None, consumer=None, lastMessageId=None,):\n    self.seq = seq\n    self.consumer = consumer\n    self.lastMessageId = lastMessageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.consumer = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.lastMessageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendChatRemoved_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.consumer is not None:\n      oprot.writeFieldBegin('consumer', TType.STRING, 2)\n      oprot.writeString(self.consumer)\n      oprot.writeFieldEnd()\n    if self.lastMessageId is not None:\n      oprot.writeFieldBegin('lastMessageId', TType.STRING, 3)\n      oprot.writeString(self.lastMessageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.consumer)\n    value = (value * 31) ^ hash(self.lastMessageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendChatRemoved_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendChatRemoved_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendContentPreviewUpdated_args:\n  \"\"\"\n  Attributes:\n   - esq\n   - messageId\n   - receiverMids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'esq', None, None, ), # 1\n    (2, TType.STRING, 'messageId', None, None, ), # 2\n    (3, TType.LIST, 'receiverMids', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, esq=None, messageId=None, receiverMids=None,):\n    self.esq = esq\n    self.messageId = messageId\n    self.receiverMids = receiverMids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.esq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.messageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.receiverMids = []\n          (_etype1199, _size1196) = iprot.readListBegin()\n          for _i1200 in xrange(_size1196):\n            _elem1201 = iprot.readString()\n            self.receiverMids.append(_elem1201)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendContentPreviewUpdated_args')\n    if self.esq is not None:\n      oprot.writeFieldBegin('esq', TType.I32, 1)\n      oprot.writeI32(self.esq)\n      oprot.writeFieldEnd()\n    if self.messageId is not None:\n      oprot.writeFieldBegin('messageId', TType.STRING, 2)\n      oprot.writeString(self.messageId)\n      oprot.writeFieldEnd()\n    if self.receiverMids is not None:\n      oprot.writeFieldBegin('receiverMids', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.receiverMids))\n      for iter1202 in self.receiverMids:\n        oprot.writeString(iter1202)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.esq)\n    value = (value * 31) ^ hash(self.messageId)\n    value = (value * 31) ^ hash(self.receiverMids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendContentPreviewUpdated_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRING,None), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype1204, _vtype1205, _size1203 ) = iprot.readMapBegin()\n          for _i1207 in xrange(_size1203):\n            _key1208 = iprot.readString()\n            _val1209 = iprot.readString()\n            self.success[_key1208] = _val1209\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendContentPreviewUpdated_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.success))\n      for kiter1210,viter1211 in self.success.items():\n        oprot.writeString(kiter1210)\n        oprot.writeString(viter1211)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendContentReceipt_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - consumer\n   - messageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRING, 'consumer', None, None, ), # 2\n    (3, TType.STRING, 'messageId', None, None, ), # 3\n  )\n\n  def __init__(self, seq=None, consumer=None, messageId=None,):\n    self.seq = seq\n    self.consumer = consumer\n    self.messageId = messageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.consumer = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.messageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendContentReceipt_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.consumer is not None:\n      oprot.writeFieldBegin('consumer', TType.STRING, 2)\n      oprot.writeString(self.consumer)\n      oprot.writeFieldEnd()\n    if self.messageId is not None:\n      oprot.writeFieldBegin('messageId', TType.STRING, 3)\n      oprot.writeString(self.messageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.consumer)\n    value = (value * 31) ^ hash(self.messageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendContentReceipt_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendContentReceipt_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendDummyPush_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendDummyPush_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendDummyPush_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendDummyPush_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendEvent_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRUCT, 'message', (Message, Message.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, seq=None, message=None,):\n    self.seq = seq\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.message = Message()\n          self.message.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendEvent_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRUCT, 2)\n      self.message.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendEvent_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Message, Message.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Message()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendEvent_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessage_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRUCT, 'message', (Message, Message.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, seq=None, message=None,):\n    self.seq = seq\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.message = Message()\n          self.message.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessage_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRUCT, 2)\n      self.message.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessage_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Message, Message.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Message()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessage_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessageIgnored_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - consumer\n   - messageIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRING, 'consumer', None, None, ), # 2\n    (3, TType.LIST, 'messageIds', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, seq=None, consumer=None, messageIds=None,):\n    self.seq = seq\n    self.consumer = consumer\n    self.messageIds = messageIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.consumer = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.messageIds = []\n          (_etype1215, _size1212) = iprot.readListBegin()\n          for _i1216 in xrange(_size1212):\n            _elem1217 = iprot.readString()\n            self.messageIds.append(_elem1217)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessageIgnored_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.consumer is not None:\n      oprot.writeFieldBegin('consumer', TType.STRING, 2)\n      oprot.writeString(self.consumer)\n      oprot.writeFieldEnd()\n    if self.messageIds is not None:\n      oprot.writeFieldBegin('messageIds', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.messageIds))\n      for iter1218 in self.messageIds:\n        oprot.writeString(iter1218)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.consumer)\n    value = (value * 31) ^ hash(self.messageIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessageIgnored_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessageIgnored_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessageReceipt_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - consumer\n   - messageIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRING, 'consumer', None, None, ), # 2\n    (3, TType.LIST, 'messageIds', (TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, seq=None, consumer=None, messageIds=None,):\n    self.seq = seq\n    self.consumer = consumer\n    self.messageIds = messageIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.consumer = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.messageIds = []\n          (_etype1222, _size1219) = iprot.readListBegin()\n          for _i1223 in xrange(_size1219):\n            _elem1224 = iprot.readString()\n            self.messageIds.append(_elem1224)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessageReceipt_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.consumer is not None:\n      oprot.writeFieldBegin('consumer', TType.STRING, 2)\n      oprot.writeString(self.consumer)\n      oprot.writeFieldEnd()\n    if self.messageIds is not None:\n      oprot.writeFieldBegin('messageIds', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRING, len(self.messageIds))\n      for iter1225 in self.messageIds:\n        oprot.writeString(iter1225)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.consumer)\n    value = (value * 31) ^ hash(self.messageIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessageReceipt_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessageReceipt_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessageToMyHome_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRUCT, 'message', (Message, Message.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, seq=None, message=None,):\n    self.seq = seq\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.message = Message()\n          self.message.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessageToMyHome_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRUCT, 2)\n      self.message.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass sendMessageToMyHome_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Message, Message.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Message()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('sendMessageToMyHome_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setBuddyLocation_args:\n  \"\"\"\n  Attributes:\n   - mid\n   - index\n   - location\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n    (3, TType.I32, 'index', None, None, ), # 3\n    (4, TType.STRUCT, 'location', (Geolocation, Geolocation.thrift_spec), None, ), # 4\n  )\n\n  def __init__(self, mid=None, index=None, location=None,):\n    self.mid = mid\n    self.index = index\n    self.location = location\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.index = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRUCT:\n          self.location = Geolocation()\n          self.location.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setBuddyLocation_args')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.index is not None:\n      oprot.writeFieldBegin('index', TType.I32, 3)\n      oprot.writeI32(self.index)\n      oprot.writeFieldEnd()\n    if self.location is not None:\n      oprot.writeFieldBegin('location', TType.STRUCT, 4)\n      self.location.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.index)\n    value = (value * 31) ^ hash(self.location)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setBuddyLocation_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setBuddyLocation_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setIdentityCredential_args:\n  \"\"\"\n  Attributes:\n   - provider\n   - identifier\n   - verifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'identifier', None, None, ), # 2\n    (3, TType.STRING, 'verifier', None, None, ), # 3\n    (4, TType.I32, 'provider', None, None, ), # 4\n  )\n\n  def __init__(self, provider=None, identifier=None, verifier=None,):\n    self.provider = provider\n    self.identifier = identifier\n    self.verifier = verifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 4:\n        if ftype == TType.I32:\n          self.provider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setIdentityCredential_args')\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 2)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 3)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    if self.provider is not None:\n      oprot.writeFieldBegin('provider', TType.I32, 4)\n      oprot.writeI32(self.provider)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.provider)\n    value = (value * 31) ^ hash(self.identifier)\n    value = (value * 31) ^ hash(self.verifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setIdentityCredential_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setIdentityCredential_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setNotificationsEnabled_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - type\n   - target\n   - enablement\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.I32, 'type', None, None, ), # 2\n    (3, TType.STRING, 'target', None, None, ), # 3\n    (4, TType.BOOL, 'enablement', None, None, ), # 4\n  )\n\n  def __init__(self, reqSeq=None, type=None, target=None, enablement=None,):\n    self.reqSeq = reqSeq\n    self.type = type\n    self.target = target\n    self.enablement = enablement\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.target = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.BOOL:\n          self.enablement = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setNotificationsEnabled_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 2)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    if self.target is not None:\n      oprot.writeFieldBegin('target', TType.STRING, 3)\n      oprot.writeString(self.target)\n      oprot.writeFieldEnd()\n    if self.enablement is not None:\n      oprot.writeFieldBegin('enablement', TType.BOOL, 4)\n      oprot.writeBool(self.enablement)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.target)\n    value = (value * 31) ^ hash(self.enablement)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass setNotificationsEnabled_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('setNotificationsEnabled_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass startUpdateVerification_args:\n  \"\"\"\n  Attributes:\n   - region\n   - carrier\n   - phone\n   - udidHash\n   - deviceInfo\n   - networkCode\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'region', None, None, ), # 2\n    (3, TType.I32, 'carrier', None, None, ), # 3\n    (4, TType.STRING, 'phone', None, None, ), # 4\n    (5, TType.STRING, 'udidHash', None, None, ), # 5\n    (6, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 6\n    (7, TType.STRING, 'networkCode', None, None, ), # 7\n    (8, TType.STRING, 'locale', None, None, ), # 8\n  )\n\n  def __init__(self, region=None, carrier=None, phone=None, udidHash=None, deviceInfo=None, networkCode=None, locale=None,):\n    self.region = region\n    self.carrier = carrier\n    self.phone = phone\n    self.udidHash = udidHash\n    self.deviceInfo = deviceInfo\n    self.networkCode = networkCode\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.region = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.carrier = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.phone = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.STRING:\n          self.networkCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('startUpdateVerification_args')\n    if self.region is not None:\n      oprot.writeFieldBegin('region', TType.STRING, 2)\n      oprot.writeString(self.region)\n      oprot.writeFieldEnd()\n    if self.carrier is not None:\n      oprot.writeFieldBegin('carrier', TType.I32, 3)\n      oprot.writeI32(self.carrier)\n      oprot.writeFieldEnd()\n    if self.phone is not None:\n      oprot.writeFieldBegin('phone', TType.STRING, 4)\n      oprot.writeString(self.phone)\n      oprot.writeFieldEnd()\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 5)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 6)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    if self.networkCode is not None:\n      oprot.writeFieldBegin('networkCode', TType.STRING, 7)\n      oprot.writeString(self.networkCode)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 8)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.region)\n    value = (value * 31) ^ hash(self.carrier)\n    value = (value * 31) ^ hash(self.phone)\n    value = (value * 31) ^ hash(self.udidHash)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    value = (value * 31) ^ hash(self.networkCode)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass startUpdateVerification_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (VerificationSessionData, VerificationSessionData.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = VerificationSessionData()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('startUpdateVerification_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass startVerification_args:\n  \"\"\"\n  Attributes:\n   - region\n   - carrier\n   - phone\n   - udidHash\n   - deviceInfo\n   - networkCode\n   - mid\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'region', None, None, ), # 2\n    (3, TType.I32, 'carrier', None, None, ), # 3\n    (4, TType.STRING, 'phone', None, None, ), # 4\n    (5, TType.STRING, 'udidHash', None, None, ), # 5\n    (6, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 6\n    (7, TType.STRING, 'networkCode', None, None, ), # 7\n    (8, TType.STRING, 'mid', None, None, ), # 8\n    (9, TType.STRING, 'locale', None, None, ), # 9\n  )\n\n  def __init__(self, region=None, carrier=None, phone=None, udidHash=None, deviceInfo=None, networkCode=None, mid=None, locale=None,):\n    self.region = region\n    self.carrier = carrier\n    self.phone = phone\n    self.udidHash = udidHash\n    self.deviceInfo = deviceInfo\n    self.networkCode = networkCode\n    self.mid = mid\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.region = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.carrier = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.phone = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.STRING:\n          self.networkCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('startVerification_args')\n    if self.region is not None:\n      oprot.writeFieldBegin('region', TType.STRING, 2)\n      oprot.writeString(self.region)\n      oprot.writeFieldEnd()\n    if self.carrier is not None:\n      oprot.writeFieldBegin('carrier', TType.I32, 3)\n      oprot.writeI32(self.carrier)\n      oprot.writeFieldEnd()\n    if self.phone is not None:\n      oprot.writeFieldBegin('phone', TType.STRING, 4)\n      oprot.writeString(self.phone)\n      oprot.writeFieldEnd()\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 5)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 6)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    if self.networkCode is not None:\n      oprot.writeFieldBegin('networkCode', TType.STRING, 7)\n      oprot.writeString(self.networkCode)\n      oprot.writeFieldEnd()\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 8)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 9)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.region)\n    value = (value * 31) ^ hash(self.carrier)\n    value = (value * 31) ^ hash(self.phone)\n    value = (value * 31) ^ hash(self.udidHash)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    value = (value * 31) ^ hash(self.networkCode)\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass startVerification_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (VerificationSessionData, VerificationSessionData.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = VerificationSessionData()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('startVerification_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass storeUpdateProfileAttribute_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - profileAttribute\n   - value\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.I32, 'profileAttribute', None, None, ), # 2\n    (3, TType.STRING, 'value', None, None, ), # 3\n  )\n\n  def __init__(self, seq=None, profileAttribute=None, value=None,):\n    self.seq = seq\n    self.profileAttribute = profileAttribute\n    self.value = value\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.profileAttribute = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.value = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('storeUpdateProfileAttribute_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.profileAttribute is not None:\n      oprot.writeFieldBegin('profileAttribute', TType.I32, 2)\n      oprot.writeI32(self.profileAttribute)\n      oprot.writeFieldEnd()\n    if self.value is not None:\n      oprot.writeFieldBegin('value', TType.STRING, 3)\n      oprot.writeString(self.value)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.profileAttribute)\n    value = (value * 31) ^ hash(self.value)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass storeUpdateProfileAttribute_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('storeUpdateProfileAttribute_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass syncContactBySnsIds_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - modifications\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.LIST, 'modifications', (TType.STRUCT,(SnsFriendModification, SnsFriendModification.thrift_spec)), None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, modifications=None,):\n    self.reqSeq = reqSeq\n    self.modifications = modifications\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.modifications = []\n          (_etype1229, _size1226) = iprot.readListBegin()\n          for _i1230 in xrange(_size1226):\n            _elem1231 = SnsFriendModification()\n            _elem1231.read(iprot)\n            self.modifications.append(_elem1231)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('syncContactBySnsIds_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.modifications is not None:\n      oprot.writeFieldBegin('modifications', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRUCT, len(self.modifications))\n      for iter1232 in self.modifications:\n        iter1232.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.modifications)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass syncContactBySnsIds_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.LIST, 'success', (TType.STRUCT,(SnsFriendContactRegistration, SnsFriendContactRegistration.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.LIST:\n          self.success = []\n          (_etype1236, _size1233) = iprot.readListBegin()\n          for _i1237 in xrange(_size1233):\n            _elem1238 = SnsFriendContactRegistration()\n            _elem1238.read(iprot)\n            self.success.append(_elem1238)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('syncContactBySnsIds_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.LIST, 0)\n      oprot.writeListBegin(TType.STRUCT, len(self.success))\n      for iter1239 in self.success:\n        iter1239.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass syncContacts_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - localContacts\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.LIST, 'localContacts', (TType.STRUCT,(ContactModification, ContactModification.thrift_spec)), None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, localContacts=None,):\n    self.reqSeq = reqSeq\n    self.localContacts = localContacts\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.localContacts = []\n          (_etype1243, _size1240) = iprot.readListBegin()\n          for _i1244 in xrange(_size1240):\n            _elem1245 = ContactModification()\n            _elem1245.read(iprot)\n            self.localContacts.append(_elem1245)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('syncContacts_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.localContacts is not None:\n      oprot.writeFieldBegin('localContacts', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRUCT, len(self.localContacts))\n      for iter1246 in self.localContacts:\n        iter1246.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.localContacts)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass syncContacts_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.MAP, 'success', (TType.STRING,None,TType.STRUCT,(ContactRegistration, ContactRegistration.thrift_spec)), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.MAP:\n          self.success = {}\n          (_ktype1248, _vtype1249, _size1247 ) = iprot.readMapBegin()\n          for _i1251 in xrange(_size1247):\n            _key1252 = iprot.readString()\n            _val1253 = ContactRegistration()\n            _val1253.read(iprot)\n            self.success[_key1252] = _val1253\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('syncContacts_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.MAP, 0)\n      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.success))\n      for kiter1254,viter1255 in self.success.items():\n        oprot.writeString(kiter1254)\n        viter1255.write(oprot)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass trySendMessage_args:\n  \"\"\"\n  Attributes:\n   - seq\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'seq', None, None, ), # 1\n    (2, TType.STRUCT, 'message', (Message, Message.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, seq=None, message=None,):\n    self.seq = seq\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.seq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.message = Message()\n          self.message.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('trySendMessage_args')\n    if self.seq is not None:\n      oprot.writeFieldBegin('seq', TType.I32, 1)\n      oprot.writeI32(self.seq)\n      oprot.writeFieldEnd()\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRUCT, 2)\n      self.message.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.seq)\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass trySendMessage_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (Message, Message.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = Message()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('trySendMessage_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unblockContact_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - id\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'id', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, id=None,):\n    self.reqSeq = reqSeq\n    self.id = id\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unblockContact_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 2)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.id)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unblockContact_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unblockContact_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unblockRecommendation_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - id\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'id', None, None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, id=None,):\n    self.reqSeq = reqSeq\n    self.id = id\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unblockRecommendation_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 2)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.id)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unblockRecommendation_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unblockRecommendation_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unregisterUserAndDevice_args:\n\n  thrift_spec = (\n  )\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unregisterUserAndDevice_args')\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass unregisterUserAndDevice_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('unregisterUserAndDevice_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateApnsDeviceToken_args:\n  \"\"\"\n  Attributes:\n   - apnsDeviceToken\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'apnsDeviceToken', None, None, ), # 2\n  )\n\n  def __init__(self, apnsDeviceToken=None,):\n    self.apnsDeviceToken = apnsDeviceToken\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.apnsDeviceToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateApnsDeviceToken_args')\n    if self.apnsDeviceToken is not None:\n      oprot.writeFieldBegin('apnsDeviceToken', TType.STRING, 2)\n      oprot.writeString(self.apnsDeviceToken)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.apnsDeviceToken)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateApnsDeviceToken_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateApnsDeviceToken_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddySetting_args:\n  \"\"\"\n  Attributes:\n   - key\n   - value\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'key', None, None, ), # 2\n    (3, TType.STRING, 'value', None, None, ), # 3\n  )\n\n  def __init__(self, key=None, value=None,):\n    self.key = key\n    self.value = value\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.key = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.value = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddySetting_args')\n    if self.key is not None:\n      oprot.writeFieldBegin('key', TType.STRING, 2)\n      oprot.writeString(self.key)\n      oprot.writeFieldEnd()\n    if self.value is not None:\n      oprot.writeFieldBegin('value', TType.STRING, 3)\n      oprot.writeString(self.value)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.key)\n    value = (value * 31) ^ hash(self.value)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateBuddySetting_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateBuddySetting_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateC2DMRegistrationId_args:\n  \"\"\"\n  Attributes:\n   - registrationId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'registrationId', None, None, ), # 2\n  )\n\n  def __init__(self, registrationId=None,):\n    self.registrationId = registrationId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.registrationId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateC2DMRegistrationId_args')\n    if self.registrationId is not None:\n      oprot.writeFieldBegin('registrationId', TType.STRING, 2)\n      oprot.writeString(self.registrationId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.registrationId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateC2DMRegistrationId_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateC2DMRegistrationId_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateContactSetting_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - mid\n   - flag\n   - value\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n    (3, TType.I32, 'flag', None, None, ), # 3\n    (4, TType.STRING, 'value', None, None, ), # 4\n  )\n\n  def __init__(self, reqSeq=None, mid=None, flag=None, value=None,):\n    self.reqSeq = reqSeq\n    self.mid = mid\n    self.flag = flag\n    self.value = value\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.flag = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.value = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateContactSetting_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.flag is not None:\n      oprot.writeFieldBegin('flag', TType.I32, 3)\n      oprot.writeI32(self.flag)\n      oprot.writeFieldEnd()\n    if self.value is not None:\n      oprot.writeFieldBegin('value', TType.STRING, 4)\n      oprot.writeString(self.value)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.flag)\n    value = (value * 31) ^ hash(self.value)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateContactSetting_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateContactSetting_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateCustomModeSettings_args:\n  \"\"\"\n  Attributes:\n   - customMode\n   - paramMap\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.I32, 'customMode', None, None, ), # 2\n    (3, TType.MAP, 'paramMap', (TType.STRING,None,TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, customMode=None, paramMap=None,):\n    self.customMode = customMode\n    self.paramMap = paramMap\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.I32:\n          self.customMode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.MAP:\n          self.paramMap = {}\n          (_ktype1257, _vtype1258, _size1256 ) = iprot.readMapBegin()\n          for _i1260 in xrange(_size1256):\n            _key1261 = iprot.readString()\n            _val1262 = iprot.readString()\n            self.paramMap[_key1261] = _val1262\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateCustomModeSettings_args')\n    if self.customMode is not None:\n      oprot.writeFieldBegin('customMode', TType.I32, 2)\n      oprot.writeI32(self.customMode)\n      oprot.writeFieldEnd()\n    if self.paramMap is not None:\n      oprot.writeFieldBegin('paramMap', TType.MAP, 3)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.paramMap))\n      for kiter1263,viter1264 in self.paramMap.items():\n        oprot.writeString(kiter1263)\n        oprot.writeString(viter1264)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.customMode)\n    value = (value * 31) ^ hash(self.paramMap)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateCustomModeSettings_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateCustomModeSettings_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateDeviceInfo_args:\n  \"\"\"\n  Attributes:\n   - deviceUid\n   - deviceInfo\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'deviceUid', None, None, ), # 2\n    (3, TType.STRUCT, 'deviceInfo', (DeviceInfo, DeviceInfo.thrift_spec), None, ), # 3\n  )\n\n  def __init__(self, deviceUid=None, deviceInfo=None,):\n    self.deviceUid = deviceUid\n    self.deviceInfo = deviceInfo\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.deviceUid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRUCT:\n          self.deviceInfo = DeviceInfo()\n          self.deviceInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateDeviceInfo_args')\n    if self.deviceUid is not None:\n      oprot.writeFieldBegin('deviceUid', TType.STRING, 2)\n      oprot.writeString(self.deviceUid)\n      oprot.writeFieldEnd()\n    if self.deviceInfo is not None:\n      oprot.writeFieldBegin('deviceInfo', TType.STRUCT, 3)\n      self.deviceInfo.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.deviceUid)\n    value = (value * 31) ^ hash(self.deviceInfo)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateDeviceInfo_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateDeviceInfo_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateGroup_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - group\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRUCT, 'group', (Group, Group.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, group=None,):\n    self.reqSeq = reqSeq\n    self.group = group\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.group = Group()\n          self.group.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateGroup_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.group is not None:\n      oprot.writeFieldBegin('group', TType.STRUCT, 2)\n      self.group.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.group)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateGroup_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateGroup_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateNotificationToken_args:\n  \"\"\"\n  Attributes:\n   - type\n   - token\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'token', None, None, ), # 2\n    (3, TType.I32, 'type', None, None, ), # 3\n  )\n\n  def __init__(self, type=None, token=None,):\n    self.type = type\n    self.token = token\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.token = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateNotificationToken_args')\n    if self.token is not None:\n      oprot.writeFieldBegin('token', TType.STRING, 2)\n      oprot.writeString(self.token)\n      oprot.writeFieldEnd()\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 3)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.token)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateNotificationToken_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateNotificationToken_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateNotificationTokenWithBytes_args:\n  \"\"\"\n  Attributes:\n   - type\n   - token\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'token', None, None, ), # 2\n    (3, TType.I32, 'type', None, None, ), # 3\n  )\n\n  def __init__(self, type=None, token=None,):\n    self.type = type\n    self.token = token\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 3:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.token = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateNotificationTokenWithBytes_args')\n    if self.token is not None:\n      oprot.writeFieldBegin('token', TType.STRING, 2)\n      oprot.writeString(self.token)\n      oprot.writeFieldEnd()\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 3)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.token)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateNotificationTokenWithBytes_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateNotificationTokenWithBytes_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateProfile_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - profile\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRUCT, 'profile', (Profile, Profile.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, profile=None,):\n    self.reqSeq = reqSeq\n    self.profile = profile\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.profile = Profile()\n          self.profile.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateProfile_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.profile is not None:\n      oprot.writeFieldBegin('profile', TType.STRUCT, 2)\n      self.profile.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.profile)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateProfile_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateProfile_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateProfileAttribute_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - attr\n   - value\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.I32, 'attr', None, None, ), # 2\n    (3, TType.STRING, 'value', None, None, ), # 3\n  )\n\n  def __init__(self, reqSeq=None, attr=None, value=None,):\n    self.reqSeq = reqSeq\n    self.attr = attr\n    self.value = value\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.attr = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.value = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateProfileAttribute_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.attr is not None:\n      oprot.writeFieldBegin('attr', TType.I32, 2)\n      oprot.writeI32(self.attr)\n      oprot.writeFieldEnd()\n    if self.value is not None:\n      oprot.writeFieldBegin('value', TType.STRING, 3)\n      oprot.writeString(self.value)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.attr)\n    value = (value * 31) ^ hash(self.value)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateProfileAttribute_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateProfileAttribute_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateRegion_args:\n  \"\"\"\n  Attributes:\n   - region\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'region', None, None, ), # 2\n  )\n\n  def __init__(self, region=None,):\n    self.region = region\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.region = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateRegion_args')\n    if self.region is not None:\n      oprot.writeFieldBegin('region', TType.STRING, 2)\n      oprot.writeString(self.region)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.region)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateRegion_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateRegion_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateSettings_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - settings\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRUCT, 'settings', (Settings, Settings.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, settings=None,):\n    self.reqSeq = reqSeq\n    self.settings = settings\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.settings = Settings()\n          self.settings.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateSettings_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.settings is not None:\n      oprot.writeFieldBegin('settings', TType.STRUCT, 2)\n      self.settings.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.settings)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateSettings_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateSettings_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateSettings2_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - settings\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.STRUCT, 'settings', (Settings, Settings.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, reqSeq=None, settings=None,):\n    self.reqSeq = reqSeq\n    self.settings = settings\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.settings = Settings()\n          self.settings.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateSettings2_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.settings is not None:\n      oprot.writeFieldBegin('settings', TType.STRUCT, 2)\n      self.settings.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.settings)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateSettings2_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I32, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I32:\n          self.success = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateSettings2_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I32, 0)\n      oprot.writeI32(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateSettingsAttribute_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - attr\n   - value\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.I32, 'attr', None, None, ), # 2\n    (3, TType.STRING, 'value', None, None, ), # 3\n  )\n\n  def __init__(self, reqSeq=None, attr=None, value=None,):\n    self.reqSeq = reqSeq\n    self.attr = attr\n    self.value = value\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.attr = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.value = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateSettingsAttribute_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.attr is not None:\n      oprot.writeFieldBegin('attr', TType.I32, 2)\n      oprot.writeI32(self.attr)\n      oprot.writeFieldEnd()\n    if self.value is not None:\n      oprot.writeFieldBegin('value', TType.STRING, 3)\n      oprot.writeString(self.value)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.attr)\n    value = (value * 31) ^ hash(self.value)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateSettingsAttribute_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateSettingsAttribute_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateSettingsAttributes_args:\n  \"\"\"\n  Attributes:\n   - reqSeq\n   - attrBitset\n   - settings\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'reqSeq', None, None, ), # 1\n    (2, TType.I32, 'attrBitset', None, None, ), # 2\n    (3, TType.STRUCT, 'settings', (Settings, Settings.thrift_spec), None, ), # 3\n  )\n\n  def __init__(self, reqSeq=None, attrBitset=None, settings=None,):\n    self.reqSeq = reqSeq\n    self.attrBitset = attrBitset\n    self.settings = settings\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.attrBitset = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRUCT:\n          self.settings = Settings()\n          self.settings.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateSettingsAttributes_args')\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 1)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.attrBitset is not None:\n      oprot.writeFieldBegin('attrBitset', TType.I32, 2)\n      oprot.writeI32(self.attrBitset)\n      oprot.writeFieldEnd()\n    if self.settings is not None:\n      oprot.writeFieldBegin('settings', TType.STRUCT, 3)\n      self.settings.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.attrBitset)\n    value = (value * 31) ^ hash(self.settings)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass updateSettingsAttributes_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I32, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I32:\n          self.success = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('updateSettingsAttributes_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I32, 0)\n      oprot.writeI32(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass verifyIdentityCredential_args:\n  \"\"\"\n  Attributes:\n   - identityProvider\n   - identifier\n   - password\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    (3, TType.STRING, 'identifier', None, None, ), # 3\n    (4, TType.STRING, 'password', None, None, ), # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    (8, TType.I32, 'identityProvider', None, None, ), # 8\n  )\n\n  def __init__(self, identityProvider=None, identifier=None, password=None,):\n    self.identityProvider = identityProvider\n    self.identifier = identifier\n    self.password = password\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 8:\n        if ftype == TType.I32:\n          self.identityProvider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.password = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('verifyIdentityCredential_args')\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 3)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.password is not None:\n      oprot.writeFieldBegin('password', TType.STRING, 4)\n      oprot.writeString(self.password)\n      oprot.writeFieldEnd()\n    if self.identityProvider is not None:\n      oprot.writeFieldBegin('identityProvider', TType.I32, 8)\n      oprot.writeI32(self.identityProvider)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.identityProvider)\n    value = (value * 31) ^ hash(self.identifier)\n    value = (value * 31) ^ hash(self.password)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass verifyIdentityCredential_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('verifyIdentityCredential_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass verifyIdentityCredentialWithResult_args:\n  \"\"\"\n  Attributes:\n   - identityCredential\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'identityCredential', (IdentityCredential, IdentityCredential.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, identityCredential=None,):\n    self.identityCredential = identityCredential\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.identityCredential = IdentityCredential()\n          self.identityCredential.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('verifyIdentityCredentialWithResult_args')\n    if self.identityCredential is not None:\n      oprot.writeFieldBegin('identityCredential', TType.STRUCT, 2)\n      self.identityCredential.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.identityCredential)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass verifyIdentityCredentialWithResult_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRUCT, 'success', (UserAuthStatus, UserAuthStatus.thrift_spec), None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRUCT:\n          self.success = UserAuthStatus()\n          self.success.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('verifyIdentityCredentialWithResult_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRUCT, 0)\n      self.success.write(oprot)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass verifyPhone_args:\n  \"\"\"\n  Attributes:\n   - sessionId\n   - pinCode\n   - udidHash\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n    (3, TType.STRING, 'pinCode', None, None, ), # 3\n    (4, TType.STRING, 'udidHash', None, None, ), # 4\n  )\n\n  def __init__(self, sessionId=None, pinCode=None, udidHash=None,):\n    self.sessionId = sessionId\n    self.pinCode = pinCode\n    self.udidHash = udidHash\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.pinCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.udidHash = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('verifyPhone_args')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    if self.pinCode is not None:\n      oprot.writeFieldBegin('pinCode', TType.STRING, 3)\n      oprot.writeString(self.pinCode)\n      oprot.writeFieldEnd()\n    if self.udidHash is not None:\n      oprot.writeFieldBegin('udidHash', TType.STRING, 4)\n      oprot.writeString(self.udidHash)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    value = (value * 31) ^ hash(self.pinCode)\n    value = (value * 31) ^ hash(self.udidHash)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass verifyPhone_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.I32, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.I32:\n          self.success = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('verifyPhone_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.I32, 0)\n      oprot.writeI32(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass verifyQrcode_args:\n  \"\"\"\n  Attributes:\n   - verifier\n   - pinCode\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRING, 'verifier', None, None, ), # 2\n    (3, TType.STRING, 'pinCode', None, None, ), # 3\n  )\n\n  def __init__(self, verifier=None, pinCode=None,):\n    self.verifier = verifier\n    self.pinCode = pinCode\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.pinCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('verifyQrcode_args')\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 2)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    if self.pinCode is not None:\n      oprot.writeFieldBegin('pinCode', TType.STRING, 3)\n      oprot.writeString(self.pinCode)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.verifier)\n    value = (value * 31) ^ hash(self.pinCode)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass verifyQrcode_result:\n  \"\"\"\n  Attributes:\n   - success\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    (0, TType.STRING, 'success', None, None, ), # 0\n    (1, TType.STRUCT, 'e', (TalkException, TalkException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, success=None, e=None,):\n    self.success = success\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 0:\n        if ftype == TType.STRING:\n          self.success = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = TalkException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('verifyQrcode_result')\n    if self.success is not None:\n      oprot.writeFieldBegin('success', TType.STRING, 0)\n      oprot.writeString(self.success)\n      oprot.writeFieldEnd()\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.success)\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notify_args:\n  \"\"\"\n  Attributes:\n   - event\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    (2, TType.STRUCT, 'event', (GlobalEvent, GlobalEvent.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, event=None,):\n    self.event = event\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 2:\n        if ftype == TType.STRUCT:\n          self.event = GlobalEvent()\n          self.event.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notify_args')\n    if self.event is not None:\n      oprot.writeFieldBegin('event', TType.STRUCT, 2)\n      self.event.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.event)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass notify_result:\n  \"\"\"\n  Attributes:\n   - e\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'e', (UniversalNotificationServiceException, UniversalNotificationServiceException.thrift_spec), None, ), # 1\n  )\n\n  def __init__(self, e=None,):\n    self.e = e\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.e = UniversalNotificationServiceException()\n          self.e.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('notify_result')\n    if self.e is not None:\n      oprot.writeFieldBegin('e', TType.STRUCT, 1)\n      self.e.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.e)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n"
  },
  {
    "path": "LINETCR/lib/curve/__init__.py",
    "content": "__all__ = ['ttypes', 'constants', 'LineService']\n"
  },
  {
    "path": "LINETCR/lib/curve/constants.py",
    "content": "#\n# Autogenerated by Thrift Compiler (0.9.3)\n#\n# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n#\n#  options string: py\n#\n\nfrom thrift.Thrift import TType, TMessageType, TException, TApplicationException\nfrom ttypes import *\n\n"
  },
  {
    "path": "LINETCR/lib/curve/ttypes.py",
    "content": "#\n# Autogenerated by Thrift Compiler (0.9.3)\n#\n# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n#\n#  options string: py\n#\n\nfrom thrift.Thrift import TType, TMessageType, TException, TApplicationException\n\nfrom thrift.transport import TTransport\nfrom thrift.protocol import TBinaryProtocol, TProtocol\ntry:\n  from thrift.protocol import fastbinary\nexcept:\n  fastbinary = None\n\n\nclass ApplicationType:\n  IOS = 16\n  IOS_RC = 17\n  IOS_BETA = 18\n  IOS_ALPHA = 19\n  ANDROID = 32\n  ANDROID_RC = 33\n  ANDROID_BETA = 34\n  ANDROID_ALPHA = 35\n  WAP = 48\n  WAP_RC = 49\n  WAP_BETA = 50\n  WAP_ALPHA = 51\n  BOT = 64\n  BOT_RC = 65\n  BOT_BETA = 66\n  BOT_ALPHA = 67\n  WEB = 80\n  WEB_RC = 81\n  WEB_BETA = 82\n  WEB_ALPHA = 83\n  DESKTOPWIN = 96\n  DESKTOPWIN_RC = 97\n  DESKTOPWIN_BETA = 98\n  DESKTOPWIN_ALPHA = 99\n  DESKTOPMAC = 112\n  DESKTOPMAC_RC = 113\n  DESKTOPMAC_BETA = 114\n  DESKTOPMAC_ALPHA = 115\n  CHANNELGW = 128\n  CHANNELGW_RC = 129\n  CHANNELGW_BETA = 130\n  CHANNELGW_ALPHA = 131\n  CHANNELCP = 144\n  CHANNELCP_RC = 145\n  CHANNELCP_BETA = 146\n  CHANNELCP_ALPHA = 147\n  WINPHONE = 160\n  WINPHONE_RC = 161\n  WINPHONE_BETA = 162\n  WINPHONE_ALPHA = 163\n  BLACKBERRY = 176\n  BLACKBERRY_RC = 177\n  BLACKBERRY_BETA = 178\n  BLACKBERRY_ALPHA = 179\n  WINMETRO = 192\n  WINMETRO_RC = 193\n  WINMETRO_BETA = 194\n  WINMETRO_ALPHA = 195\n  S40 = 208\n  S40_RC = 209\n  S40_BETA = 210\n  S40_ALPHA = 211\n  CHRONO = 224\n  CHRONO_RC = 225\n  CHRONO_BETA = 226\n  CHRONO_ALPHA = 227\n  TIZEN = 256\n  TIZEN_RC = 257\n  TIZEN_BETA = 258\n  TIZEN_ALPHA = 259\n  VIRTUAL = 272\n\n  _VALUES_TO_NAMES = {\n    16: \"IOS\",\n    17: \"IOS_RC\",\n    18: \"IOS_BETA\",\n    19: \"IOS_ALPHA\",\n    32: \"ANDROID\",\n    33: \"ANDROID_RC\",\n    34: \"ANDROID_BETA\",\n    35: \"ANDROID_ALPHA\",\n    48: \"WAP\",\n    49: \"WAP_RC\",\n    50: \"WAP_BETA\",\n    51: \"WAP_ALPHA\",\n    64: \"BOT\",\n    65: \"BOT_RC\",\n    66: \"BOT_BETA\",\n    67: \"BOT_ALPHA\",\n    80: \"WEB\",\n    81: \"WEB_RC\",\n    82: \"WEB_BETA\",\n    83: \"WEB_ALPHA\",\n    96: \"DESKTOPWIN\",\n    97: \"DESKTOPWIN_RC\",\n    98: \"DESKTOPWIN_BETA\",\n    99: \"DESKTOPWIN_ALPHA\",\n    112: \"DESKTOPMAC\",\n    113: \"DESKTOPMAC_RC\",\n    114: \"DESKTOPMAC_BETA\",\n    115: \"DESKTOPMAC_ALPHA\",\n    128: \"CHANNELGW\",\n    129: \"CHANNELGW_RC\",\n    130: \"CHANNELGW_BETA\",\n    131: \"CHANNELGW_ALPHA\",\n    144: \"CHANNELCP\",\n    145: \"CHANNELCP_RC\",\n    146: \"CHANNELCP_BETA\",\n    147: \"CHANNELCP_ALPHA\",\n    160: \"WINPHONE\",\n    161: \"WINPHONE_RC\",\n    162: \"WINPHONE_BETA\",\n    163: \"WINPHONE_ALPHA\",\n    176: \"BLACKBERRY\",\n    177: \"BLACKBERRY_RC\",\n    178: \"BLACKBERRY_BETA\",\n    179: \"BLACKBERRY_ALPHA\",\n    192: \"WINMETRO\",\n    193: \"WINMETRO_RC\",\n    194: \"WINMETRO_BETA\",\n    195: \"WINMETRO_ALPHA\",\n    208: \"S40\",\n    209: \"S40_RC\",\n    210: \"S40_BETA\",\n    211: \"S40_ALPHA\",\n    224: \"CHRONO\",\n    225: \"CHRONO_RC\",\n    226: \"CHRONO_BETA\",\n    227: \"CHRONO_ALPHA\",\n    256: \"TIZEN\",\n    257: \"TIZEN_RC\",\n    258: \"TIZEN_BETA\",\n    259: \"TIZEN_ALPHA\",\n    272: \"VIRTUAL\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"IOS\": 16,\n    \"IOS_RC\": 17,\n    \"IOS_BETA\": 18,\n    \"IOS_ALPHA\": 19,\n    \"ANDROID\": 32,\n    \"ANDROID_RC\": 33,\n    \"ANDROID_BETA\": 34,\n    \"ANDROID_ALPHA\": 35,\n    \"WAP\": 48,\n    \"WAP_RC\": 49,\n    \"WAP_BETA\": 50,\n    \"WAP_ALPHA\": 51,\n    \"BOT\": 64,\n    \"BOT_RC\": 65,\n    \"BOT_BETA\": 66,\n    \"BOT_ALPHA\": 67,\n    \"WEB\": 80,\n    \"WEB_RC\": 81,\n    \"WEB_BETA\": 82,\n    \"WEB_ALPHA\": 83,\n    \"DESKTOPWIN\": 96,\n    \"DESKTOPWIN_RC\": 97,\n    \"DESKTOPWIN_BETA\": 98,\n    \"DESKTOPWIN_ALPHA\": 99,\n    \"DESKTOPMAC\": 112,\n    \"DESKTOPMAC_RC\": 113,\n    \"DESKTOPMAC_BETA\": 114,\n    \"DESKTOPMAC_ALPHA\": 115,\n    \"CHANNELGW\": 128,\n    \"CHANNELGW_RC\": 129,\n    \"CHANNELGW_BETA\": 130,\n    \"CHANNELGW_ALPHA\": 131,\n    \"CHANNELCP\": 144,\n    \"CHANNELCP_RC\": 145,\n    \"CHANNELCP_BETA\": 146,\n    \"CHANNELCP_ALPHA\": 147,\n    \"WINPHONE\": 160,\n    \"WINPHONE_RC\": 161,\n    \"WINPHONE_BETA\": 162,\n    \"WINPHONE_ALPHA\": 163,\n    \"BLACKBERRY\": 176,\n    \"BLACKBERRY_RC\": 177,\n    \"BLACKBERRY_BETA\": 178,\n    \"BLACKBERRY_ALPHA\": 179,\n    \"WINMETRO\": 192,\n    \"WINMETRO_RC\": 193,\n    \"WINMETRO_BETA\": 194,\n    \"WINMETRO_ALPHA\": 195,\n    \"S40\": 208,\n    \"S40_RC\": 209,\n    \"S40_BETA\": 210,\n    \"S40_ALPHA\": 211,\n    \"CHRONO\": 224,\n    \"CHRONO_RC\": 225,\n    \"CHRONO_BETA\": 226,\n    \"CHRONO_ALPHA\": 227,\n    \"TIZEN\": 256,\n    \"TIZEN_RC\": 257,\n    \"TIZEN_BETA\": 258,\n    \"TIZEN_ALPHA\": 259,\n    \"VIRTUAL\": 272,\n  }\n\nclass BuddyBannerLinkType:\n  BUDDY_BANNER_LINK_HIDDEN = 0\n  BUDDY_BANNER_LINK_MID = 1\n  BUDDY_BANNER_LINK_URL = 2\n\n  _VALUES_TO_NAMES = {\n    0: \"BUDDY_BANNER_LINK_HIDDEN\",\n    1: \"BUDDY_BANNER_LINK_MID\",\n    2: \"BUDDY_BANNER_LINK_URL\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"BUDDY_BANNER_LINK_HIDDEN\": 0,\n    \"BUDDY_BANNER_LINK_MID\": 1,\n    \"BUDDY_BANNER_LINK_URL\": 2,\n  }\n\nclass BuddyOnAirType:\n  NORMAL = 0\n  LIVE = 1\n  VOIP = 2\n\n  _VALUES_TO_NAMES = {\n    0: \"NORMAL\",\n    1: \"LIVE\",\n    2: \"VOIP\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NORMAL\": 0,\n    \"LIVE\": 1,\n    \"VOIP\": 2,\n  }\n\nclass BuddyResultState:\n  ACCEPTED = 1\n  SUCCEEDED = 2\n  FAILED = 3\n  CANCELLED = 4\n  NOTIFY_FAILED = 5\n  STORING = 11\n  UPLOADING = 21\n  NOTIFYING = 31\n\n  _VALUES_TO_NAMES = {\n    1: \"ACCEPTED\",\n    2: \"SUCCEEDED\",\n    3: \"FAILED\",\n    4: \"CANCELLED\",\n    5: \"NOTIFY_FAILED\",\n    11: \"STORING\",\n    21: \"UPLOADING\",\n    31: \"NOTIFYING\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"ACCEPTED\": 1,\n    \"SUCCEEDED\": 2,\n    \"FAILED\": 3,\n    \"CANCELLED\": 4,\n    \"NOTIFY_FAILED\": 5,\n    \"STORING\": 11,\n    \"UPLOADING\": 21,\n    \"NOTIFYING\": 31,\n  }\n\nclass BuddySearchRequestSource:\n  NA = 0\n  FRIEND_VIEW = 1\n  OFFICIAL_ACCOUNT_VIEW = 2\n\n  _VALUES_TO_NAMES = {\n    0: \"NA\",\n    1: \"FRIEND_VIEW\",\n    2: \"OFFICIAL_ACCOUNT_VIEW\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NA\": 0,\n    \"FRIEND_VIEW\": 1,\n    \"OFFICIAL_ACCOUNT_VIEW\": 2,\n  }\n\nclass CarrierCode:\n  NOT_SPECIFIED = 0\n  JP_DOCOMO = 1\n  JP_AU = 2\n  JP_SOFTBANK = 3\n  KR_SKT = 17\n  KR_KT = 18\n  KR_LGT = 19\n\n  _VALUES_TO_NAMES = {\n    0: \"NOT_SPECIFIED\",\n    1: \"JP_DOCOMO\",\n    2: \"JP_AU\",\n    3: \"JP_SOFTBANK\",\n    17: \"KR_SKT\",\n    18: \"KR_KT\",\n    19: \"KR_LGT\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NOT_SPECIFIED\": 0,\n    \"JP_DOCOMO\": 1,\n    \"JP_AU\": 2,\n    \"JP_SOFTBANK\": 3,\n    \"KR_SKT\": 17,\n    \"KR_KT\": 18,\n    \"KR_LGT\": 19,\n  }\n\nclass ChannelConfiguration:\n  MESSAGE = 0\n  MESSAGE_NOTIFICATION = 1\n  NOTIFICATION_CENTER = 2\n\n  _VALUES_TO_NAMES = {\n    0: \"MESSAGE\",\n    1: \"MESSAGE_NOTIFICATION\",\n    2: \"NOTIFICATION_CENTER\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"MESSAGE\": 0,\n    \"MESSAGE_NOTIFICATION\": 1,\n    \"NOTIFICATION_CENTER\": 2,\n  }\n\nclass ChannelErrorCode:\n  ILLEGAL_ARGUMENT = 0\n  INTERNAL_ERROR = 1\n  CONNECTION_ERROR = 2\n  AUTHENTICATIONI_FAILED = 3\n  NEED_PERMISSION_APPROVAL = 4\n  COIN_NOT_USABLE = 5\n\n  _VALUES_TO_NAMES = {\n    0: \"ILLEGAL_ARGUMENT\",\n    1: \"INTERNAL_ERROR\",\n    2: \"CONNECTION_ERROR\",\n    3: \"AUTHENTICATIONI_FAILED\",\n    4: \"NEED_PERMISSION_APPROVAL\",\n    5: \"COIN_NOT_USABLE\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"ILLEGAL_ARGUMENT\": 0,\n    \"INTERNAL_ERROR\": 1,\n    \"CONNECTION_ERROR\": 2,\n    \"AUTHENTICATIONI_FAILED\": 3,\n    \"NEED_PERMISSION_APPROVAL\": 4,\n    \"COIN_NOT_USABLE\": 5,\n  }\n\nclass ChannelSyncType:\n  SYNC = 0\n  REMOVE = 1\n\n  _VALUES_TO_NAMES = {\n    0: \"SYNC\",\n    1: \"REMOVE\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"SYNC\": 0,\n    \"REMOVE\": 1,\n  }\n\nclass ContactAttribute:\n  CONTACT_ATTRIBUTE_CAPABLE_VOICE_CALL = 1\n  CONTACT_ATTRIBUTE_CAPABLE_VIDEO_CALL = 2\n  CONTACT_ATTRIBUTE_CAPABLE_MY_HOME = 16\n  CONTACT_ATTRIBUTE_CAPABLE_BUDDY = 32\n\n  _VALUES_TO_NAMES = {\n    1: \"CONTACT_ATTRIBUTE_CAPABLE_VOICE_CALL\",\n    2: \"CONTACT_ATTRIBUTE_CAPABLE_VIDEO_CALL\",\n    16: \"CONTACT_ATTRIBUTE_CAPABLE_MY_HOME\",\n    32: \"CONTACT_ATTRIBUTE_CAPABLE_BUDDY\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"CONTACT_ATTRIBUTE_CAPABLE_VOICE_CALL\": 1,\n    \"CONTACT_ATTRIBUTE_CAPABLE_VIDEO_CALL\": 2,\n    \"CONTACT_ATTRIBUTE_CAPABLE_MY_HOME\": 16,\n    \"CONTACT_ATTRIBUTE_CAPABLE_BUDDY\": 32,\n  }\n\nclass ContactCategory:\n  NORMAL = 0\n  RECOMMEND = 1\n\n  _VALUES_TO_NAMES = {\n    0: \"NORMAL\",\n    1: \"RECOMMEND\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NORMAL\": 0,\n    \"RECOMMEND\": 1,\n  }\n\nclass ContactRelation:\n  ONEWAY = 0\n  BOTH = 1\n  NOT_REGISTERED = 2\n\n  _VALUES_TO_NAMES = {\n    0: \"ONEWAY\",\n    1: \"BOTH\",\n    2: \"NOT_REGISTERED\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"ONEWAY\": 0,\n    \"BOTH\": 1,\n    \"NOT_REGISTERED\": 2,\n  }\n\nclass ContactSetting:\n  CONTACT_SETTING_NOTIFICATION_DISABLE = 1\n  CONTACT_SETTING_DISPLAY_NAME_OVERRIDE = 2\n  CONTACT_SETTING_CONTACT_HIDE = 4\n  CONTACT_SETTING_FAVORITE = 8\n  CONTACT_SETTING_DELETE = 16\n\n  _VALUES_TO_NAMES = {\n    1: \"CONTACT_SETTING_NOTIFICATION_DISABLE\",\n    2: \"CONTACT_SETTING_DISPLAY_NAME_OVERRIDE\",\n    4: \"CONTACT_SETTING_CONTACT_HIDE\",\n    8: \"CONTACT_SETTING_FAVORITE\",\n    16: \"CONTACT_SETTING_DELETE\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"CONTACT_SETTING_NOTIFICATION_DISABLE\": 1,\n    \"CONTACT_SETTING_DISPLAY_NAME_OVERRIDE\": 2,\n    \"CONTACT_SETTING_CONTACT_HIDE\": 4,\n    \"CONTACT_SETTING_FAVORITE\": 8,\n    \"CONTACT_SETTING_DELETE\": 16,\n  }\n\nclass ContactStatus:\n  UNSPECIFIED = 0\n  FRIEND = 1\n  FRIEND_BLOCKED = 2\n  RECOMMEND = 3\n  RECOMMEND_BLOCKED = 4\n  DELETED = 5\n  DELETED_BLOCKED = 6\n\n  _VALUES_TO_NAMES = {\n    0: \"UNSPECIFIED\",\n    1: \"FRIEND\",\n    2: \"FRIEND_BLOCKED\",\n    3: \"RECOMMEND\",\n    4: \"RECOMMEND_BLOCKED\",\n    5: \"DELETED\",\n    6: \"DELETED_BLOCKED\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"UNSPECIFIED\": 0,\n    \"FRIEND\": 1,\n    \"FRIEND_BLOCKED\": 2,\n    \"RECOMMEND\": 3,\n    \"RECOMMEND_BLOCKED\": 4,\n    \"DELETED\": 5,\n    \"DELETED_BLOCKED\": 6,\n  }\n\nclass ContactType:\n  MID = 0\n  PHONE = 1\n  EMAIL = 2\n  USERID = 3\n  PROXIMITY = 4\n  GROUP = 5\n  USER = 6\n  QRCODE = 7\n  PROMOTION_BOT = 8\n  REPAIR = 128\n  FACEBOOK = 2305\n  SINA = 2306\n  RENREN = 2307\n  FEIXIN = 2308\n\n  _VALUES_TO_NAMES = {\n    0: \"MID\",\n    1: \"PHONE\",\n    2: \"EMAIL\",\n    3: \"USERID\",\n    4: \"PROXIMITY\",\n    5: \"GROUP\",\n    6: \"USER\",\n    7: \"QRCODE\",\n    8: \"PROMOTION_BOT\",\n    128: \"REPAIR\",\n    2305: \"FACEBOOK\",\n    2306: \"SINA\",\n    2307: \"RENREN\",\n    2308: \"FEIXIN\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"MID\": 0,\n    \"PHONE\": 1,\n    \"EMAIL\": 2,\n    \"USERID\": 3,\n    \"PROXIMITY\": 4,\n    \"GROUP\": 5,\n    \"USER\": 6,\n    \"QRCODE\": 7,\n    \"PROMOTION_BOT\": 8,\n    \"REPAIR\": 128,\n    \"FACEBOOK\": 2305,\n    \"SINA\": 2306,\n    \"RENREN\": 2307,\n    \"FEIXIN\": 2308,\n  }\n\nclass ContentType:\n  NONE = 0\n  IMAGE = 1\n  VIDEO = 2\n  AUDIO = 3\n  HTML = 4\n  PDF = 5\n  CALL = 6\n  STICKER = 7\n  PRESENCE = 8\n  GIFT = 9\n  GROUPBOARD = 10\n  APPLINK = 11\n  LINK = 12\n  CONTACT = 13\n  FILE = 14\n  LOCATION = 15\n  POSTNOTIFICATION = 16\n  RICH = 17\n  CHATEVENT = 18\n\n  _VALUES_TO_NAMES = {\n    0: \"NONE\",\n    1: \"IMAGE\",\n    2: \"VIDEO\",\n    3: \"AUDIO\",\n    4: \"HTML\",\n    5: \"PDF\",\n    6: \"CALL\",\n    7: \"STICKER\",\n    8: \"PRESENCE\",\n    9: \"GIFT\",\n    10: \"GROUPBOARD\",\n    11: \"APPLINK\",\n    12: \"LINK\",\n    13: \"CONTACT\",\n    14: \"FILE\",\n    15: \"LOCATION\",\n    16: \"POSTNOTIFICATION\",\n    17: \"RICH\",\n    18: \"CHATEVENT\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NONE\": 0,\n    \"IMAGE\": 1,\n    \"VIDEO\": 2,\n    \"AUDIO\": 3,\n    \"HTML\": 4,\n    \"PDF\": 5,\n    \"CALL\": 6,\n    \"STICKER\": 7,\n    \"PRESENCE\": 8,\n    \"GIFT\": 9,\n    \"GROUPBOARD\": 10,\n    \"APPLINK\": 11,\n    \"LINK\": 12,\n    \"CONTACT\": 13,\n    \"FILE\": 14,\n    \"LOCATION\": 15,\n    \"POSTNOTIFICATION\": 16,\n    \"RICH\": 17,\n    \"CHATEVENT\": 18,\n  }\n\nclass CustomMode:\n  PROMOTION_FRIENDS_INVITE = 1\n  CAPABILITY_SERVER_SIDE_SMS = 2\n  LINE_CLIENT_ANALYTICS_CONFIGURATION = 3\n\n  _VALUES_TO_NAMES = {\n    1: \"PROMOTION_FRIENDS_INVITE\",\n    2: \"CAPABILITY_SERVER_SIDE_SMS\",\n    3: \"LINE_CLIENT_ANALYTICS_CONFIGURATION\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"PROMOTION_FRIENDS_INVITE\": 1,\n    \"CAPABILITY_SERVER_SIDE_SMS\": 2,\n    \"LINE_CLIENT_ANALYTICS_CONFIGURATION\": 3,\n  }\n\nclass EmailConfirmationStatus:\n  NOT_SPECIFIED = 0\n  NOT_YET = 1\n  DONE = 3\n\n  _VALUES_TO_NAMES = {\n    0: \"NOT_SPECIFIED\",\n    1: \"NOT_YET\",\n    3: \"DONE\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NOT_SPECIFIED\": 0,\n    \"NOT_YET\": 1,\n    \"DONE\": 3,\n  }\n\nclass EmailConfirmationType:\n  SERVER_SIDE_EMAIL = 0\n  CLIENT_SIDE_EMAIL = 1\n\n  _VALUES_TO_NAMES = {\n    0: \"SERVER_SIDE_EMAIL\",\n    1: \"CLIENT_SIDE_EMAIL\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"SERVER_SIDE_EMAIL\": 0,\n    \"CLIENT_SIDE_EMAIL\": 1,\n  }\n\nclass ErrorCode:\n  ILLEGAL_ARGUMENT = 0\n  AUTHENTICATION_FAILED = 1\n  DB_FAILED = 2\n  INVALID_STATE = 3\n  EXCESSIVE_ACCESS = 4\n  NOT_FOUND = 5\n  INVALID_LENGTH = 6\n  NOT_AVAILABLE_USER = 7\n  NOT_AUTHORIZED_DEVICE = 8\n  INVALID_MID = 9\n  NOT_A_MEMBER = 10\n  INCOMPATIBLE_APP_VERSION = 11\n  NOT_READY = 12\n  NOT_AVAILABLE_SESSION = 13\n  NOT_AUTHORIZED_SESSION = 14\n  SYSTEM_ERROR = 15\n  NO_AVAILABLE_VERIFICATION_METHOD = 16\n  NOT_AUTHENTICATED = 17\n  INVALID_IDENTITY_CREDENTIAL = 18\n  NOT_AVAILABLE_IDENTITY_IDENTIFIER = 19\n  INTERNAL_ERROR = 20\n  NO_SUCH_IDENTITY_IDENFIER = 21\n  DEACTIVATED_ACCOUNT_BOUND_TO_THIS_IDENTITY = 22\n  ILLEGAL_IDENTITY_CREDENTIAL = 23\n  UNKNOWN_CHANNEL = 24\n  NO_SUCH_MESSAGE_BOX = 25\n  NOT_AVAILABLE_MESSAGE_BOX = 26\n  CHANNEL_DOES_NOT_MATCH = 27\n  NOT_YOUR_MESSAGE = 28\n  MESSAGE_DEFINED_ERROR = 29\n  USER_CANNOT_ACCEPT_PRESENTS = 30\n  USER_NOT_STICKER_OWNER = 32\n  MAINTENANCE_ERROR = 33\n  ACCOUNT_NOT_MATCHED = 34\n  ABUSE_BLOCK = 35\n  NOT_FRIEND = 36\n  NOT_ALLOWED_CALL = 37\n  BLOCK_FRIEND = 38\n  INCOMPATIBLE_VOIP_VERSION = 39\n  INVALID_SNS_ACCESS_TOKEN = 40\n  EXTERNAL_SERVICE_NOT_AVAILABLE = 41\n  NOT_ALLOWED_ADD_CONTACT = 42\n  NOT_CERTIFICATED = 43\n  NOT_ALLOWED_SECONDARY_DEVICE = 44\n  INVALID_PIN_CODE = 45\n  NOT_FOUND_IDENTITY_CREDENTIAL = 46\n  EXCEED_FILE_MAX_SIZE = 47\n  EXCEED_DAILY_QUOTA = 48\n  NOT_SUPPORT_SEND_FILE = 49\n  MUST_UPGRADE = 50\n  NOT_AVAILABLE_PIN_CODE_SESSION = 51\n\n  _VALUES_TO_NAMES = {\n    0: \"ILLEGAL_ARGUMENT\",\n    1: \"AUTHENTICATION_FAILED\",\n    2: \"DB_FAILED\",\n    3: \"INVALID_STATE\",\n    4: \"EXCESSIVE_ACCESS\",\n    5: \"NOT_FOUND\",\n    6: \"INVALID_LENGTH\",\n    7: \"NOT_AVAILABLE_USER\",\n    8: \"NOT_AUTHORIZED_DEVICE\",\n    9: \"INVALID_MID\",\n    10: \"NOT_A_MEMBER\",\n    11: \"INCOMPATIBLE_APP_VERSION\",\n    12: \"NOT_READY\",\n    13: \"NOT_AVAILABLE_SESSION\",\n    14: \"NOT_AUTHORIZED_SESSION\",\n    15: \"SYSTEM_ERROR\",\n    16: \"NO_AVAILABLE_VERIFICATION_METHOD\",\n    17: \"NOT_AUTHENTICATED\",\n    18: \"INVALID_IDENTITY_CREDENTIAL\",\n    19: \"NOT_AVAILABLE_IDENTITY_IDENTIFIER\",\n    20: \"INTERNAL_ERROR\",\n    21: \"NO_SUCH_IDENTITY_IDENFIER\",\n    22: \"DEACTIVATED_ACCOUNT_BOUND_TO_THIS_IDENTITY\",\n    23: \"ILLEGAL_IDENTITY_CREDENTIAL\",\n    24: \"UNKNOWN_CHANNEL\",\n    25: \"NO_SUCH_MESSAGE_BOX\",\n    26: \"NOT_AVAILABLE_MESSAGE_BOX\",\n    27: \"CHANNEL_DOES_NOT_MATCH\",\n    28: \"NOT_YOUR_MESSAGE\",\n    29: \"MESSAGE_DEFINED_ERROR\",\n    30: \"USER_CANNOT_ACCEPT_PRESENTS\",\n    32: \"USER_NOT_STICKER_OWNER\",\n    33: \"MAINTENANCE_ERROR\",\n    34: \"ACCOUNT_NOT_MATCHED\",\n    35: \"ABUSE_BLOCK\",\n    36: \"NOT_FRIEND\",\n    37: \"NOT_ALLOWED_CALL\",\n    38: \"BLOCK_FRIEND\",\n    39: \"INCOMPATIBLE_VOIP_VERSION\",\n    40: \"INVALID_SNS_ACCESS_TOKEN\",\n    41: \"EXTERNAL_SERVICE_NOT_AVAILABLE\",\n    42: \"NOT_ALLOWED_ADD_CONTACT\",\n    43: \"NOT_CERTIFICATED\",\n    44: \"NOT_ALLOWED_SECONDARY_DEVICE\",\n    45: \"INVALID_PIN_CODE\",\n    46: \"NOT_FOUND_IDENTITY_CREDENTIAL\",\n    47: \"EXCEED_FILE_MAX_SIZE\",\n    48: \"EXCEED_DAILY_QUOTA\",\n    49: \"NOT_SUPPORT_SEND_FILE\",\n    50: \"MUST_UPGRADE\",\n    51: \"NOT_AVAILABLE_PIN_CODE_SESSION\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"ILLEGAL_ARGUMENT\": 0,\n    \"AUTHENTICATION_FAILED\": 1,\n    \"DB_FAILED\": 2,\n    \"INVALID_STATE\": 3,\n    \"EXCESSIVE_ACCESS\": 4,\n    \"NOT_FOUND\": 5,\n    \"INVALID_LENGTH\": 6,\n    \"NOT_AVAILABLE_USER\": 7,\n    \"NOT_AUTHORIZED_DEVICE\": 8,\n    \"INVALID_MID\": 9,\n    \"NOT_A_MEMBER\": 10,\n    \"INCOMPATIBLE_APP_VERSION\": 11,\n    \"NOT_READY\": 12,\n    \"NOT_AVAILABLE_SESSION\": 13,\n    \"NOT_AUTHORIZED_SESSION\": 14,\n    \"SYSTEM_ERROR\": 15,\n    \"NO_AVAILABLE_VERIFICATION_METHOD\": 16,\n    \"NOT_AUTHENTICATED\": 17,\n    \"INVALID_IDENTITY_CREDENTIAL\": 18,\n    \"NOT_AVAILABLE_IDENTITY_IDENTIFIER\": 19,\n    \"INTERNAL_ERROR\": 20,\n    \"NO_SUCH_IDENTITY_IDENFIER\": 21,\n    \"DEACTIVATED_ACCOUNT_BOUND_TO_THIS_IDENTITY\": 22,\n    \"ILLEGAL_IDENTITY_CREDENTIAL\": 23,\n    \"UNKNOWN_CHANNEL\": 24,\n    \"NO_SUCH_MESSAGE_BOX\": 25,\n    \"NOT_AVAILABLE_MESSAGE_BOX\": 26,\n    \"CHANNEL_DOES_NOT_MATCH\": 27,\n    \"NOT_YOUR_MESSAGE\": 28,\n    \"MESSAGE_DEFINED_ERROR\": 29,\n    \"USER_CANNOT_ACCEPT_PRESENTS\": 30,\n    \"USER_NOT_STICKER_OWNER\": 32,\n    \"MAINTENANCE_ERROR\": 33,\n    \"ACCOUNT_NOT_MATCHED\": 34,\n    \"ABUSE_BLOCK\": 35,\n    \"NOT_FRIEND\": 36,\n    \"NOT_ALLOWED_CALL\": 37,\n    \"BLOCK_FRIEND\": 38,\n    \"INCOMPATIBLE_VOIP_VERSION\": 39,\n    \"INVALID_SNS_ACCESS_TOKEN\": 40,\n    \"EXTERNAL_SERVICE_NOT_AVAILABLE\": 41,\n    \"NOT_ALLOWED_ADD_CONTACT\": 42,\n    \"NOT_CERTIFICATED\": 43,\n    \"NOT_ALLOWED_SECONDARY_DEVICE\": 44,\n    \"INVALID_PIN_CODE\": 45,\n    \"NOT_FOUND_IDENTITY_CREDENTIAL\": 46,\n    \"EXCEED_FILE_MAX_SIZE\": 47,\n    \"EXCEED_DAILY_QUOTA\": 48,\n    \"NOT_SUPPORT_SEND_FILE\": 49,\n    \"MUST_UPGRADE\": 50,\n    \"NOT_AVAILABLE_PIN_CODE_SESSION\": 51,\n  }\n\nclass FeatureType:\n  OBJECT_STORAGE = 1\n\n  _VALUES_TO_NAMES = {\n    1: \"OBJECT_STORAGE\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"OBJECT_STORAGE\": 1,\n  }\n\nclass GroupAttribute:\n  NAME = 1\n  PICTURE_STATUS = 2\n  ALL = 255\n\n  _VALUES_TO_NAMES = {\n    1: \"NAME\",\n    2: \"PICTURE_STATUS\",\n    255: \"ALL\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NAME\": 1,\n    \"PICTURE_STATUS\": 2,\n    \"ALL\": 255,\n  }\n\nclass IdentityProvider:\n  UNKNOWN = 0\n  LINE = 1\n  NAVER_KR = 2\n\n  _VALUES_TO_NAMES = {\n    0: \"UNKNOWN\",\n    1: \"LINE\",\n    2: \"NAVER_KR\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"UNKNOWN\": 0,\n    \"LINE\": 1,\n    \"NAVER_KR\": 2,\n  }\n\nclass LoginResultType:\n  SUCCESS = 1\n  REQUIRE_QRCODE = 2\n  REQUIRE_DEVICE_CONFIRM = 3\n\n  _VALUES_TO_NAMES = {\n    1: \"SUCCESS\",\n    2: \"REQUIRE_QRCODE\",\n    3: \"REQUIRE_DEVICE_CONFIRM\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"SUCCESS\": 1,\n    \"REQUIRE_QRCODE\": 2,\n    \"REQUIRE_DEVICE_CONFIRM\": 3,\n  }\n\nclass MessageOperationType:\n  SEND_MESSAGE = 1\n  RECEIVE_MESSAGE = 2\n  READ_MESSAGE = 3\n  NOTIFIED_READ_MESSAGE = 4\n  NOTIFIED_JOIN_CHAT = 5\n  FAILED_SEND_MESSAGE = 6\n  SEND_CONTENT = 7\n  SEND_CONTENT_RECEIPT = 8\n  SEND_CHAT_REMOVED = 9\n  REMOVE_ALL_MESSAGES = 10\n\n  _VALUES_TO_NAMES = {\n    1: \"SEND_MESSAGE\",\n    2: \"RECEIVE_MESSAGE\",\n    3: \"READ_MESSAGE\",\n    4: \"NOTIFIED_READ_MESSAGE\",\n    5: \"NOTIFIED_JOIN_CHAT\",\n    6: \"FAILED_SEND_MESSAGE\",\n    7: \"SEND_CONTENT\",\n    8: \"SEND_CONTENT_RECEIPT\",\n    9: \"SEND_CHAT_REMOVED\",\n    10: \"REMOVE_ALL_MESSAGES\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"SEND_MESSAGE\": 1,\n    \"RECEIVE_MESSAGE\": 2,\n    \"READ_MESSAGE\": 3,\n    \"NOTIFIED_READ_MESSAGE\": 4,\n    \"NOTIFIED_JOIN_CHAT\": 5,\n    \"FAILED_SEND_MESSAGE\": 6,\n    \"SEND_CONTENT\": 7,\n    \"SEND_CONTENT_RECEIPT\": 8,\n    \"SEND_CHAT_REMOVED\": 9,\n    \"REMOVE_ALL_MESSAGES\": 10,\n  }\n\nclass MIDType:\n  USER = 0\n  ROOM = 1\n  GROUP = 2\n\n  _VALUES_TO_NAMES = {\n    0: \"USER\",\n    1: \"ROOM\",\n    2: \"GROUP\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"USER\": 0,\n    \"ROOM\": 1,\n    \"GROUP\": 2,\n  }\n\nclass ModificationType:\n  ADD = 0\n  REMOVE = 1\n  MODIFY = 2\n\n  _VALUES_TO_NAMES = {\n    0: \"ADD\",\n    1: \"REMOVE\",\n    2: \"MODIFY\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"ADD\": 0,\n    \"REMOVE\": 1,\n    \"MODIFY\": 2,\n  }\n\nclass NotificationItemFetchMode:\n  ALL = 0\n  APPEND = 1\n\n  _VALUES_TO_NAMES = {\n    0: \"ALL\",\n    1: \"APPEND\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"ALL\": 0,\n    \"APPEND\": 1,\n  }\n\nclass NotificationQueueType:\n  GLOBAL = 1\n  MESSAGE = 2\n  PRIMARY = 3\n\n  _VALUES_TO_NAMES = {\n    1: \"GLOBAL\",\n    2: \"MESSAGE\",\n    3: \"PRIMARY\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"GLOBAL\": 1,\n    \"MESSAGE\": 2,\n    \"PRIMARY\": 3,\n  }\n\nclass NotificationStatus:\n  NOTIFICATION_ITEM_EXIST = 1\n  TIMELINE_ITEM_EXIST = 2\n  NOTE_GROUP_NEW_ITEM_EXIST = 4\n  TIMELINE_BUDDYGROUP_CHANGED = 8\n  NOTE_ONE_TO_ONE_NEW_ITEM_EXIST = 16\n  ALBUM_ITEM_EXIST = 32\n  TIMELINE_ITEM_DELETED = 64\n\n  _VALUES_TO_NAMES = {\n    1: \"NOTIFICATION_ITEM_EXIST\",\n    2: \"TIMELINE_ITEM_EXIST\",\n    4: \"NOTE_GROUP_NEW_ITEM_EXIST\",\n    8: \"TIMELINE_BUDDYGROUP_CHANGED\",\n    16: \"NOTE_ONE_TO_ONE_NEW_ITEM_EXIST\",\n    32: \"ALBUM_ITEM_EXIST\",\n    64: \"TIMELINE_ITEM_DELETED\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NOTIFICATION_ITEM_EXIST\": 1,\n    \"TIMELINE_ITEM_EXIST\": 2,\n    \"NOTE_GROUP_NEW_ITEM_EXIST\": 4,\n    \"TIMELINE_BUDDYGROUP_CHANGED\": 8,\n    \"NOTE_ONE_TO_ONE_NEW_ITEM_EXIST\": 16,\n    \"ALBUM_ITEM_EXIST\": 32,\n    \"TIMELINE_ITEM_DELETED\": 64,\n  }\n\nclass NotificationType:\n  APPLE_APNS = 1\n  GOOGLE_C2DM = 2\n  NHN_NNI = 3\n  SKT_AOM = 4\n  MS_MPNS = 5\n  RIM_BIS = 6\n  GOOGLE_GCM = 7\n  NOKIA_NNAPI = 8\n  TIZEN = 9\n  LINE_BOT = 17\n  LINE_WAP = 18\n\n  _VALUES_TO_NAMES = {\n    1: \"APPLE_APNS\",\n    2: \"GOOGLE_C2DM\",\n    3: \"NHN_NNI\",\n    4: \"SKT_AOM\",\n    5: \"MS_MPNS\",\n    6: \"RIM_BIS\",\n    7: \"GOOGLE_GCM\",\n    8: \"NOKIA_NNAPI\",\n    9: \"TIZEN\",\n    17: \"LINE_BOT\",\n    18: \"LINE_WAP\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"APPLE_APNS\": 1,\n    \"GOOGLE_C2DM\": 2,\n    \"NHN_NNI\": 3,\n    \"SKT_AOM\": 4,\n    \"MS_MPNS\": 5,\n    \"RIM_BIS\": 6,\n    \"GOOGLE_GCM\": 7,\n    \"NOKIA_NNAPI\": 8,\n    \"TIZEN\": 9,\n    \"LINE_BOT\": 17,\n    \"LINE_WAP\": 18,\n  }\n\nclass OpStatus:\n  NORMAL = 0\n  ALERT_DISABLED = 1\n\n  _VALUES_TO_NAMES = {\n    0: \"NORMAL\",\n    1: \"ALERT_DISABLED\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NORMAL\": 0,\n    \"ALERT_DISABLED\": 1,\n  }\n\nclass OpType:\n  END_OF_OPERATION = 0\n  UPDATE_PROFILE = 1\n  NOTIFIED_UPDATE_PROFILE = 2\n  REGISTER_USERID = 3\n  ADD_CONTACT = 4\n  NOTIFIED_ADD_CONTACT = 5\n  BLOCK_CONTACT = 6\n  UNBLOCK_CONTACT = 7\n  NOTIFIED_RECOMMEND_CONTACT = 8\n  CREATE_GROUP = 9\n  UPDATE_GROUP = 10\n  NOTIFIED_UPDATE_GROUP = 11\n  INVITE_INTO_GROUP = 12\n  NOTIFIED_INVITE_INTO_GROUP = 13\n  LEAVE_GROUP = 14\n  NOTIFIED_LEAVE_GROUP = 15\n  ACCEPT_GROUP_INVITATION = 16\n  NOTIFIED_ACCEPT_GROUP_INVITATION = 17\n  KICKOUT_FROM_GROUP = 18\n  NOTIFIED_KICKOUT_FROM_GROUP = 19\n  CREATE_ROOM = 20\n  INVITE_INTO_ROOM = 21\n  NOTIFIED_INVITE_INTO_ROOM = 22\n  LEAVE_ROOM = 23\n  NOTIFIED_LEAVE_ROOM = 24\n  SEND_MESSAGE = 25\n  RECEIVE_MESSAGE = 26\n  SEND_MESSAGE_RECEIPT = 27\n  RECEIVE_MESSAGE_RECEIPT = 28\n  SEND_CONTENT_RECEIPT = 29\n  RECEIVE_ANNOUNCEMENT = 30\n  CANCEL_INVITATION_GROUP = 31\n  NOTIFIED_CANCEL_INVITATION_GROUP = 32\n  NOTIFIED_UNREGISTER_USER = 33\n  REJECT_GROUP_INVITATION = 34\n  NOTIFIED_REJECT_GROUP_INVITATION = 35\n  UPDATE_SETTINGS = 36\n  NOTIFIED_REGISTER_USER = 37\n  INVITE_VIA_EMAIL = 38\n  NOTIFIED_REQUEST_RECOVERY = 39\n  SEND_CHAT_CHECKED = 40\n  SEND_CHAT_REMOVED = 41\n  NOTIFIED_FORCE_SYNC = 42\n  SEND_CONTENT = 43\n  SEND_MESSAGE_MYHOME = 44\n  NOTIFIED_UPDATE_CONTENT_PREVIEW = 45\n  REMOVE_ALL_MESSAGES = 46\n  NOTIFIED_UPDATE_PURCHASES = 47\n  DUMMY = 48\n  UPDATE_CONTACT = 49\n  NOTIFIED_RECEIVED_CALL = 50\n  CANCEL_CALL = 51\n  NOTIFIED_REDIRECT = 52\n  NOTIFIED_CHANNEL_SYNC = 53\n  FAILED_SEND_MESSAGE = 54\n  NOTIFIED_READ_MESSAGE = 55\n  FAILED_EMAIL_CONFIRMATION = 56\n  NOTIFIED_CHAT_CONTENT = 58\n  NOTIFIED_PUSH_NOTICENTER_ITEM = 59\n\n  _VALUES_TO_NAMES = {\n    0: \"END_OF_OPERATION\",\n    1: \"UPDATE_PROFILE\",\n    2: \"NOTIFIED_UPDATE_PROFILE\",\n    3: \"REGISTER_USERID\",\n    4: \"ADD_CONTACT\",\n    5: \"NOTIFIED_ADD_CONTACT\",\n    6: \"BLOCK_CONTACT\",\n    7: \"UNBLOCK_CONTACT\",\n    8: \"NOTIFIED_RECOMMEND_CONTACT\",\n    9: \"CREATE_GROUP\",\n    10: \"UPDATE_GROUP\",\n    11: \"NOTIFIED_UPDATE_GROUP\",\n    12: \"INVITE_INTO_GROUP\",\n    13: \"NOTIFIED_INVITE_INTO_GROUP\",\n    14: \"LEAVE_GROUP\",\n    15: \"NOTIFIED_LEAVE_GROUP\",\n    16: \"ACCEPT_GROUP_INVITATION\",\n    17: \"NOTIFIED_ACCEPT_GROUP_INVITATION\",\n    18: \"KICKOUT_FROM_GROUP\",\n    19: \"NOTIFIED_KICKOUT_FROM_GROUP\",\n    20: \"CREATE_ROOM\",\n    21: \"INVITE_INTO_ROOM\",\n    22: \"NOTIFIED_INVITE_INTO_ROOM\",\n    23: \"LEAVE_ROOM\",\n    24: \"NOTIFIED_LEAVE_ROOM\",\n    25: \"SEND_MESSAGE\",\n    26: \"RECEIVE_MESSAGE\",\n    27: \"SEND_MESSAGE_RECEIPT\",\n    28: \"RECEIVE_MESSAGE_RECEIPT\",\n    29: \"SEND_CONTENT_RECEIPT\",\n    30: \"RECEIVE_ANNOUNCEMENT\",\n    31: \"CANCEL_INVITATION_GROUP\",\n    32: \"NOTIFIED_CANCEL_INVITATION_GROUP\",\n    33: \"NOTIFIED_UNREGISTER_USER\",\n    34: \"REJECT_GROUP_INVITATION\",\n    35: \"NOTIFIED_REJECT_GROUP_INVITATION\",\n    36: \"UPDATE_SETTINGS\",\n    37: \"NOTIFIED_REGISTER_USER\",\n    38: \"INVITE_VIA_EMAIL\",\n    39: \"NOTIFIED_REQUEST_RECOVERY\",\n    40: \"SEND_CHAT_CHECKED\",\n    41: \"SEND_CHAT_REMOVED\",\n    42: \"NOTIFIED_FORCE_SYNC\",\n    43: \"SEND_CONTENT\",\n    44: \"SEND_MESSAGE_MYHOME\",\n    45: \"NOTIFIED_UPDATE_CONTENT_PREVIEW\",\n    46: \"REMOVE_ALL_MESSAGES\",\n    47: \"NOTIFIED_UPDATE_PURCHASES\",\n    48: \"DUMMY\",\n    49: \"UPDATE_CONTACT\",\n    50: \"NOTIFIED_RECEIVED_CALL\",\n    51: \"CANCEL_CALL\",\n    52: \"NOTIFIED_REDIRECT\",\n    53: \"NOTIFIED_CHANNEL_SYNC\",\n    54: \"FAILED_SEND_MESSAGE\",\n    55: \"NOTIFIED_READ_MESSAGE\",\n    56: \"FAILED_EMAIL_CONFIRMATION\",\n    58: \"NOTIFIED_CHAT_CONTENT\",\n    59: \"NOTIFIED_PUSH_NOTICENTER_ITEM\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"END_OF_OPERATION\": 0,\n    \"UPDATE_PROFILE\": 1,\n    \"NOTIFIED_UPDATE_PROFILE\": 2,\n    \"REGISTER_USERID\": 3,\n    \"ADD_CONTACT\": 4,\n    \"NOTIFIED_ADD_CONTACT\": 5,\n    \"BLOCK_CONTACT\": 6,\n    \"UNBLOCK_CONTACT\": 7,\n    \"NOTIFIED_RECOMMEND_CONTACT\": 8,\n    \"CREATE_GROUP\": 9,\n    \"UPDATE_GROUP\": 10,\n    \"NOTIFIED_UPDATE_GROUP\": 11,\n    \"INVITE_INTO_GROUP\": 12,\n    \"NOTIFIED_INVITE_INTO_GROUP\": 13,\n    \"LEAVE_GROUP\": 14,\n    \"NOTIFIED_LEAVE_GROUP\": 15,\n    \"ACCEPT_GROUP_INVITATION\": 16,\n    \"NOTIFIED_ACCEPT_GROUP_INVITATION\": 17,\n    \"KICKOUT_FROM_GROUP\": 18,\n    \"NOTIFIED_KICKOUT_FROM_GROUP\": 19,\n    \"CREATE_ROOM\": 20,\n    \"INVITE_INTO_ROOM\": 21,\n    \"NOTIFIED_INVITE_INTO_ROOM\": 22,\n    \"LEAVE_ROOM\": 23,\n    \"NOTIFIED_LEAVE_ROOM\": 24,\n    \"SEND_MESSAGE\": 25,\n    \"RECEIVE_MESSAGE\": 26,\n    \"SEND_MESSAGE_RECEIPT\": 27,\n    \"RECEIVE_MESSAGE_RECEIPT\": 28,\n    \"SEND_CONTENT_RECEIPT\": 29,\n    \"RECEIVE_ANNOUNCEMENT\": 30,\n    \"CANCEL_INVITATION_GROUP\": 31,\n    \"NOTIFIED_CANCEL_INVITATION_GROUP\": 32,\n    \"NOTIFIED_UNREGISTER_USER\": 33,\n    \"REJECT_GROUP_INVITATION\": 34,\n    \"NOTIFIED_REJECT_GROUP_INVITATION\": 35,\n    \"UPDATE_SETTINGS\": 36,\n    \"NOTIFIED_REGISTER_USER\": 37,\n    \"INVITE_VIA_EMAIL\": 38,\n    \"NOTIFIED_REQUEST_RECOVERY\": 39,\n    \"SEND_CHAT_CHECKED\": 40,\n    \"SEND_CHAT_REMOVED\": 41,\n    \"NOTIFIED_FORCE_SYNC\": 42,\n    \"SEND_CONTENT\": 43,\n    \"SEND_MESSAGE_MYHOME\": 44,\n    \"NOTIFIED_UPDATE_CONTENT_PREVIEW\": 45,\n    \"REMOVE_ALL_MESSAGES\": 46,\n    \"NOTIFIED_UPDATE_PURCHASES\": 47,\n    \"DUMMY\": 48,\n    \"UPDATE_CONTACT\": 49,\n    \"NOTIFIED_RECEIVED_CALL\": 50,\n    \"CANCEL_CALL\": 51,\n    \"NOTIFIED_REDIRECT\": 52,\n    \"NOTIFIED_CHANNEL_SYNC\": 53,\n    \"FAILED_SEND_MESSAGE\": 54,\n    \"NOTIFIED_READ_MESSAGE\": 55,\n    \"FAILED_EMAIL_CONFIRMATION\": 56,\n    \"NOTIFIED_CHAT_CONTENT\": 58,\n    \"NOTIFIED_PUSH_NOTICENTER_ITEM\": 59,\n  }\n\nclass PayloadType:\n  PAYLOAD_BUY = 101\n  PAYLOAD_CS = 111\n  PAYLOAD_BONUS = 121\n  PAYLOAD_EVENT = 131\n\n  _VALUES_TO_NAMES = {\n    101: \"PAYLOAD_BUY\",\n    111: \"PAYLOAD_CS\",\n    121: \"PAYLOAD_BONUS\",\n    131: \"PAYLOAD_EVENT\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"PAYLOAD_BUY\": 101,\n    \"PAYLOAD_CS\": 111,\n    \"PAYLOAD_BONUS\": 121,\n    \"PAYLOAD_EVENT\": 131,\n  }\n\nclass PaymentPgType:\n  PAYMENT_PG_NONE = 0\n  PAYMENT_PG_AU = 1\n  PAYMENT_PG_AL = 2\n\n  _VALUES_TO_NAMES = {\n    0: \"PAYMENT_PG_NONE\",\n    1: \"PAYMENT_PG_AU\",\n    2: \"PAYMENT_PG_AL\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"PAYMENT_PG_NONE\": 0,\n    \"PAYMENT_PG_AU\": 1,\n    \"PAYMENT_PG_AL\": 2,\n  }\n\nclass PaymentType:\n  PAYMENT_APPLE = 1\n  PAYMENT_GOOGLE = 2\n\n  _VALUES_TO_NAMES = {\n    1: \"PAYMENT_APPLE\",\n    2: \"PAYMENT_GOOGLE\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"PAYMENT_APPLE\": 1,\n    \"PAYMENT_GOOGLE\": 2,\n  }\n\nclass ProductBannerLinkType:\n  BANNER_LINK_NONE = 0\n  BANNER_LINK_ITEM = 1\n  BANNER_LINK_URL = 2\n  BANNER_LINK_CATEGORY = 3\n\n  _VALUES_TO_NAMES = {\n    0: \"BANNER_LINK_NONE\",\n    1: \"BANNER_LINK_ITEM\",\n    2: \"BANNER_LINK_URL\",\n    3: \"BANNER_LINK_CATEGORY\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"BANNER_LINK_NONE\": 0,\n    \"BANNER_LINK_ITEM\": 1,\n    \"BANNER_LINK_URL\": 2,\n    \"BANNER_LINK_CATEGORY\": 3,\n  }\n\nclass ProductEventType:\n  NO_EVENT = 0\n  CARRIER_ANY = 65537\n  BUDDY_ANY = 131073\n  INSTALL_IOS = 196609\n  INSTALL_ANDROID = 196610\n  MISSION_ANY = 262145\n  MUSTBUY_ANY = 327681\n\n  _VALUES_TO_NAMES = {\n    0: \"NO_EVENT\",\n    65537: \"CARRIER_ANY\",\n    131073: \"BUDDY_ANY\",\n    196609: \"INSTALL_IOS\",\n    196610: \"INSTALL_ANDROID\",\n    262145: \"MISSION_ANY\",\n    327681: \"MUSTBUY_ANY\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NO_EVENT\": 0,\n    \"CARRIER_ANY\": 65537,\n    \"BUDDY_ANY\": 131073,\n    \"INSTALL_IOS\": 196609,\n    \"INSTALL_ANDROID\": 196610,\n    \"MISSION_ANY\": 262145,\n    \"MUSTBUY_ANY\": 327681,\n  }\n\nclass ProfileAttribute:\n  EMAIL = 1\n  DISPLAY_NAME = 2\n  PHONETIC_NAME = 4\n  PICTURE = 8\n  STATUS_MESSAGE = 16\n  ALLOW_SEARCH_BY_USERID = 32\n  ALLOW_SEARCH_BY_EMAIL = 64\n  BUDDY_STATUS = 128\n  ALL = 255\n\n  _VALUES_TO_NAMES = {\n    1: \"EMAIL\",\n    2: \"DISPLAY_NAME\",\n    4: \"PHONETIC_NAME\",\n    8: \"PICTURE\",\n    16: \"STATUS_MESSAGE\",\n    32: \"ALLOW_SEARCH_BY_USERID\",\n    64: \"ALLOW_SEARCH_BY_EMAIL\",\n    128: \"BUDDY_STATUS\",\n    255: \"ALL\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"EMAIL\": 1,\n    \"DISPLAY_NAME\": 2,\n    \"PHONETIC_NAME\": 4,\n    \"PICTURE\": 8,\n    \"STATUS_MESSAGE\": 16,\n    \"ALLOW_SEARCH_BY_USERID\": 32,\n    \"ALLOW_SEARCH_BY_EMAIL\": 64,\n    \"BUDDY_STATUS\": 128,\n    \"ALL\": 255,\n  }\n\nclass PublicType:\n  HIDDEN = 0\n  PUBLIC = 1000\n\n  _VALUES_TO_NAMES = {\n    0: \"HIDDEN\",\n    1000: \"PUBLIC\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"HIDDEN\": 0,\n    \"PUBLIC\": 1000,\n  }\n\nclass RedirectType:\n  NONE = 0\n  EXPIRE_SECOND = 1\n\n  _VALUES_TO_NAMES = {\n    0: \"NONE\",\n    1: \"EXPIRE_SECOND\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NONE\": 0,\n    \"EXPIRE_SECOND\": 1,\n  }\n\nclass RegistrationType:\n  PHONE = 0\n  EMAIL_WAP = 1\n  FACEBOOK = 2305\n  SINA = 2306\n  RENREN = 2307\n  FEIXIN = 2308\n\n  _VALUES_TO_NAMES = {\n    0: \"PHONE\",\n    1: \"EMAIL_WAP\",\n    2305: \"FACEBOOK\",\n    2306: \"SINA\",\n    2307: \"RENREN\",\n    2308: \"FEIXIN\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"PHONE\": 0,\n    \"EMAIL_WAP\": 1,\n    \"FACEBOOK\": 2305,\n    \"SINA\": 2306,\n    \"RENREN\": 2307,\n    \"FEIXIN\": 2308,\n  }\n\nclass SettingsAttribute:\n  NOTIFICATION_ENABLE = 1\n  NOTIFICATION_MUTE_EXPIRATION = 2\n  NOTIFICATION_NEW_MESSAGE = 4\n  NOTIFICATION_GROUP_INVITATION = 8\n  NOTIFICATION_SHOW_MESSAGE = 16\n  NOTIFICATION_INCOMING_CALL = 32\n  PRIVACY_SYNC_CONTACTS = 64\n  PRIVACY_SEARCH_BY_PHONE_NUMBER = 128\n  NOTIFICATION_SOUND_MESSAGE = 256\n  NOTIFICATION_SOUND_GROUP = 512\n  CONTACT_MY_TICKET = 1024\n  IDENTITY_PROVIDER = 2048\n  IDENTITY_IDENTIFIER = 4096\n  PRIVACY_SEARCH_BY_USERID = 8192\n  PRIVACY_SEARCH_BY_EMAIL = 16384\n  PREFERENCE_LOCALE = 32768\n  NOTIFICATION_DISABLED_WITH_SUB = 65536\n  SNS_ACCOUNT = 524288\n  PHONE_REGISTRATION = 1048576\n  PRIVACY_ALLOW_SECONDARY_DEVICE_LOGIN = 2097152\n  CUSTOM_MODE = 4194304\n  PRIVACY_PROFILE_IMAGE_POST_TO_MYHOME = 8388608\n  EMAIL_CONFIRMATION_STATUS = 16777216\n  PRIVACY_RECV_MESSAGES_FROM_NOT_FRIEND = 33554432\n  ALL = 2147483647\n\n  _VALUES_TO_NAMES = {\n    1: \"NOTIFICATION_ENABLE\",\n    2: \"NOTIFICATION_MUTE_EXPIRATION\",\n    4: \"NOTIFICATION_NEW_MESSAGE\",\n    8: \"NOTIFICATION_GROUP_INVITATION\",\n    16: \"NOTIFICATION_SHOW_MESSAGE\",\n    32: \"NOTIFICATION_INCOMING_CALL\",\n    64: \"PRIVACY_SYNC_CONTACTS\",\n    128: \"PRIVACY_SEARCH_BY_PHONE_NUMBER\",\n    256: \"NOTIFICATION_SOUND_MESSAGE\",\n    512: \"NOTIFICATION_SOUND_GROUP\",\n    1024: \"CONTACT_MY_TICKET\",\n    2048: \"IDENTITY_PROVIDER\",\n    4096: \"IDENTITY_IDENTIFIER\",\n    8192: \"PRIVACY_SEARCH_BY_USERID\",\n    16384: \"PRIVACY_SEARCH_BY_EMAIL\",\n    32768: \"PREFERENCE_LOCALE\",\n    65536: \"NOTIFICATION_DISABLED_WITH_SUB\",\n    524288: \"SNS_ACCOUNT\",\n    1048576: \"PHONE_REGISTRATION\",\n    2097152: \"PRIVACY_ALLOW_SECONDARY_DEVICE_LOGIN\",\n    4194304: \"CUSTOM_MODE\",\n    8388608: \"PRIVACY_PROFILE_IMAGE_POST_TO_MYHOME\",\n    16777216: \"EMAIL_CONFIRMATION_STATUS\",\n    33554432: \"PRIVACY_RECV_MESSAGES_FROM_NOT_FRIEND\",\n    2147483647: \"ALL\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NOTIFICATION_ENABLE\": 1,\n    \"NOTIFICATION_MUTE_EXPIRATION\": 2,\n    \"NOTIFICATION_NEW_MESSAGE\": 4,\n    \"NOTIFICATION_GROUP_INVITATION\": 8,\n    \"NOTIFICATION_SHOW_MESSAGE\": 16,\n    \"NOTIFICATION_INCOMING_CALL\": 32,\n    \"PRIVACY_SYNC_CONTACTS\": 64,\n    \"PRIVACY_SEARCH_BY_PHONE_NUMBER\": 128,\n    \"NOTIFICATION_SOUND_MESSAGE\": 256,\n    \"NOTIFICATION_SOUND_GROUP\": 512,\n    \"CONTACT_MY_TICKET\": 1024,\n    \"IDENTITY_PROVIDER\": 2048,\n    \"IDENTITY_IDENTIFIER\": 4096,\n    \"PRIVACY_SEARCH_BY_USERID\": 8192,\n    \"PRIVACY_SEARCH_BY_EMAIL\": 16384,\n    \"PREFERENCE_LOCALE\": 32768,\n    \"NOTIFICATION_DISABLED_WITH_SUB\": 65536,\n    \"SNS_ACCOUNT\": 524288,\n    \"PHONE_REGISTRATION\": 1048576,\n    \"PRIVACY_ALLOW_SECONDARY_DEVICE_LOGIN\": 2097152,\n    \"CUSTOM_MODE\": 4194304,\n    \"PRIVACY_PROFILE_IMAGE_POST_TO_MYHOME\": 8388608,\n    \"EMAIL_CONFIRMATION_STATUS\": 16777216,\n    \"PRIVACY_RECV_MESSAGES_FROM_NOT_FRIEND\": 33554432,\n    \"ALL\": 2147483647,\n  }\n\nclass SnsIdType:\n  FACEBOOK = 1\n  SINA = 2\n  RENREN = 3\n  FEIXIN = 4\n\n  _VALUES_TO_NAMES = {\n    1: \"FACEBOOK\",\n    2: \"SINA\",\n    3: \"RENREN\",\n    4: \"FEIXIN\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"FACEBOOK\": 1,\n    \"SINA\": 2,\n    \"RENREN\": 3,\n    \"FEIXIN\": 4,\n  }\n\nclass SpammerReason:\n  OTHER = 0\n  ADVERTISING = 1\n  GENDER_HARASSMENT = 2\n  HARASSMENT = 3\n\n  _VALUES_TO_NAMES = {\n    0: \"OTHER\",\n    1: \"ADVERTISING\",\n    2: \"GENDER_HARASSMENT\",\n    3: \"HARASSMENT\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"OTHER\": 0,\n    \"ADVERTISING\": 1,\n    \"GENDER_HARASSMENT\": 2,\n    \"HARASSMENT\": 3,\n  }\n\nclass SyncActionType:\n  SYNC = 0\n  REPORT = 1\n\n  _VALUES_TO_NAMES = {\n    0: \"SYNC\",\n    1: \"REPORT\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"SYNC\": 0,\n    \"REPORT\": 1,\n  }\n\nclass SyncCategory:\n  PROFILE = 0\n  SETTINGS = 1\n  OPS = 2\n  CONTACT = 3\n  RECOMMEND = 4\n  BLOCK = 5\n  GROUP = 6\n  ROOM = 7\n  NOTIFICATION = 8\n\n  _VALUES_TO_NAMES = {\n    0: \"PROFILE\",\n    1: \"SETTINGS\",\n    2: \"OPS\",\n    3: \"CONTACT\",\n    4: \"RECOMMEND\",\n    5: \"BLOCK\",\n    6: \"GROUP\",\n    7: \"ROOM\",\n    8: \"NOTIFICATION\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"PROFILE\": 0,\n    \"SETTINGS\": 1,\n    \"OPS\": 2,\n    \"CONTACT\": 3,\n    \"RECOMMEND\": 4,\n    \"BLOCK\": 5,\n    \"GROUP\": 6,\n    \"ROOM\": 7,\n    \"NOTIFICATION\": 8,\n  }\n\nclass TMessageBoxStatus:\n  ACTIVATED = 1\n  UNREAD = 2\n\n  _VALUES_TO_NAMES = {\n    1: \"ACTIVATED\",\n    2: \"UNREAD\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"ACTIVATED\": 1,\n    \"UNREAD\": 2,\n  }\n\nclass UniversalNotificationServiceErrorCode:\n  INTERNAL_ERROR = 0\n  INVALID_KEY = 1\n  ILLEGAL_ARGUMENT = 2\n  TOO_MANY_REQUEST = 3\n  AUTHENTICATION_FAILED = 4\n  NO_WRITE_PERMISSION = 5\n\n  _VALUES_TO_NAMES = {\n    0: \"INTERNAL_ERROR\",\n    1: \"INVALID_KEY\",\n    2: \"ILLEGAL_ARGUMENT\",\n    3: \"TOO_MANY_REQUEST\",\n    4: \"AUTHENTICATION_FAILED\",\n    5: \"NO_WRITE_PERMISSION\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"INTERNAL_ERROR\": 0,\n    \"INVALID_KEY\": 1,\n    \"ILLEGAL_ARGUMENT\": 2,\n    \"TOO_MANY_REQUEST\": 3,\n    \"AUTHENTICATION_FAILED\": 4,\n    \"NO_WRITE_PERMISSION\": 5,\n  }\n\nclass UnregistrationReason:\n  UNREGISTRATION_REASON_UNREGISTER_USER = 1\n  UNREGISTRATION_REASON_UNBIND_DEVICE = 2\n\n  _VALUES_TO_NAMES = {\n    1: \"UNREGISTRATION_REASON_UNREGISTER_USER\",\n    2: \"UNREGISTRATION_REASON_UNBIND_DEVICE\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"UNREGISTRATION_REASON_UNREGISTER_USER\": 1,\n    \"UNREGISTRATION_REASON_UNBIND_DEVICE\": 2,\n  }\n\nclass UserAgeType:\n  OVER = 1\n  UNDER = 2\n  UNDEFINED = 3\n\n  _VALUES_TO_NAMES = {\n    1: \"OVER\",\n    2: \"UNDER\",\n    3: \"UNDEFINED\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"OVER\": 1,\n    \"UNDER\": 2,\n    \"UNDEFINED\": 3,\n  }\n\nclass VerificationMethod:\n  NO_AVAILABLE = 0\n  PIN_VIA_SMS = 1\n  CALLERID_INDIGO = 2\n  PIN_VIA_TTS = 4\n  SKIP = 10\n\n  _VALUES_TO_NAMES = {\n    0: \"NO_AVAILABLE\",\n    1: \"PIN_VIA_SMS\",\n    2: \"CALLERID_INDIGO\",\n    4: \"PIN_VIA_TTS\",\n    10: \"SKIP\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"NO_AVAILABLE\": 0,\n    \"PIN_VIA_SMS\": 1,\n    \"CALLERID_INDIGO\": 2,\n    \"PIN_VIA_TTS\": 4,\n    \"SKIP\": 10,\n  }\n\nclass VerificationResult:\n  FAILED = 0\n  OK_NOT_REGISTERED_YET = 1\n  OK_REGISTERED_WITH_SAME_DEVICE = 2\n  OK_REGISTERED_WITH_ANOTHER_DEVICE = 3\n\n  _VALUES_TO_NAMES = {\n    0: \"FAILED\",\n    1: \"OK_NOT_REGISTERED_YET\",\n    2: \"OK_REGISTERED_WITH_SAME_DEVICE\",\n    3: \"OK_REGISTERED_WITH_ANOTHER_DEVICE\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"FAILED\": 0,\n    \"OK_NOT_REGISTERED_YET\": 1,\n    \"OK_REGISTERED_WITH_SAME_DEVICE\": 2,\n    \"OK_REGISTERED_WITH_ANOTHER_DEVICE\": 3,\n  }\n\nclass WapInvitationType:\n  REGISTRATION = 1\n  CHAT = 2\n\n  _VALUES_TO_NAMES = {\n    1: \"REGISTRATION\",\n    2: \"CHAT\",\n  }\n\n  _NAMES_TO_VALUES = {\n    \"REGISTRATION\": 1,\n    \"CHAT\": 2,\n  }\n\n\nclass AgeCheckDocomoResult:\n  \"\"\"\n  Attributes:\n   - authUrl\n   - userAgeType\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'authUrl', None, None, ), # 1\n    (2, TType.I32, 'userAgeType', None, None, ), # 2\n  )\n\n  def __init__(self, authUrl=None, userAgeType=None,):\n    self.authUrl = authUrl\n    self.userAgeType = userAgeType\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.authUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.userAgeType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('AgeCheckDocomoResult')\n    if self.authUrl is not None:\n      oprot.writeFieldBegin('authUrl', TType.STRING, 1)\n      oprot.writeString(self.authUrl)\n      oprot.writeFieldEnd()\n    if self.userAgeType is not None:\n      oprot.writeFieldBegin('userAgeType', TType.I32, 2)\n      oprot.writeI32(self.userAgeType)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.authUrl)\n    value = (value * 31) ^ hash(self.userAgeType)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass AgeCheckRequestResult:\n  \"\"\"\n  Attributes:\n   - authUrl\n   - sessionId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'authUrl', None, None, ), # 1\n    (2, TType.STRING, 'sessionId', None, None, ), # 2\n  )\n\n  def __init__(self, authUrl=None, sessionId=None,):\n    self.authUrl = authUrl\n    self.sessionId = sessionId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.authUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('AgeCheckRequestResult')\n    if self.authUrl is not None:\n      oprot.writeFieldBegin('authUrl', TType.STRING, 1)\n      oprot.writeString(self.authUrl)\n      oprot.writeFieldEnd()\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 2)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.authUrl)\n    value = (value * 31) ^ hash(self.sessionId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Announcement:\n  \"\"\"\n  Attributes:\n   - index\n   - forceUpdate\n   - title\n   - text\n   - createdTime\n   - pictureUrl\n   - thumbnailUrl\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'index', None, None, ), # 1\n    None, # 2\n    None, # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.BOOL, 'forceUpdate', None, None, ), # 10\n    (11, TType.STRING, 'title', None, None, ), # 11\n    (12, TType.STRING, 'text', None, None, ), # 12\n    (13, TType.I64, 'createdTime', None, None, ), # 13\n    (14, TType.STRING, 'pictureUrl', None, None, ), # 14\n    (15, TType.STRING, 'thumbnailUrl', None, None, ), # 15\n  )\n\n  def __init__(self, index=None, forceUpdate=None, title=None, text=None, createdTime=None, pictureUrl=None, thumbnailUrl=None,):\n    self.index = index\n    self.forceUpdate = forceUpdate\n    self.title = title\n    self.text = text\n    self.createdTime = createdTime\n    self.pictureUrl = pictureUrl\n    self.thumbnailUrl = thumbnailUrl\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.index = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.BOOL:\n          self.forceUpdate = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.title = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.text = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 13:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 14:\n        if ftype == TType.STRING:\n          self.pictureUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 15:\n        if ftype == TType.STRING:\n          self.thumbnailUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Announcement')\n    if self.index is not None:\n      oprot.writeFieldBegin('index', TType.I32, 1)\n      oprot.writeI32(self.index)\n      oprot.writeFieldEnd()\n    if self.forceUpdate is not None:\n      oprot.writeFieldBegin('forceUpdate', TType.BOOL, 10)\n      oprot.writeBool(self.forceUpdate)\n      oprot.writeFieldEnd()\n    if self.title is not None:\n      oprot.writeFieldBegin('title', TType.STRING, 11)\n      oprot.writeString(self.title)\n      oprot.writeFieldEnd()\n    if self.text is not None:\n      oprot.writeFieldBegin('text', TType.STRING, 12)\n      oprot.writeString(self.text)\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 13)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.pictureUrl is not None:\n      oprot.writeFieldBegin('pictureUrl', TType.STRING, 14)\n      oprot.writeString(self.pictureUrl)\n      oprot.writeFieldEnd()\n    if self.thumbnailUrl is not None:\n      oprot.writeFieldBegin('thumbnailUrl', TType.STRING, 15)\n      oprot.writeString(self.thumbnailUrl)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.index)\n    value = (value * 31) ^ hash(self.forceUpdate)\n    value = (value * 31) ^ hash(self.title)\n    value = (value * 31) ^ hash(self.text)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.pictureUrl)\n    value = (value * 31) ^ hash(self.thumbnailUrl)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ChannelProvider:\n  \"\"\"\n  Attributes:\n   - name\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'name', None, None, ), # 1\n  )\n\n  def __init__(self, name=None,):\n    self.name = name\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.name = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ChannelProvider')\n    if self.name is not None:\n      oprot.writeFieldBegin('name', TType.STRING, 1)\n      oprot.writeString(self.name)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.name)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ChannelInfo:\n  \"\"\"\n  Attributes:\n   - channelId\n   - name\n   - entryPageUrl\n   - descriptionText\n   - provider\n   - publicType\n   - iconImage\n   - permissions\n   - iconThumbnailImage\n   - channelConfigurations\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n    None, # 2\n    (3, TType.STRING, 'name', None, None, ), # 3\n    (4, TType.STRING, 'entryPageUrl', None, None, ), # 4\n    (5, TType.STRING, 'descriptionText', None, None, ), # 5\n    (6, TType.STRUCT, 'provider', (ChannelProvider, ChannelProvider.thrift_spec), None, ), # 6\n    (7, TType.I32, 'publicType', None, None, ), # 7\n    (8, TType.STRING, 'iconImage', None, None, ), # 8\n    (9, TType.LIST, 'permissions', (TType.STRING,None), None, ), # 9\n    None, # 10\n    (11, TType.STRING, 'iconThumbnailImage', None, None, ), # 11\n    (12, TType.LIST, 'channelConfigurations', (TType.I32,None), None, ), # 12\n  )\n\n  def __init__(self, channelId=None, name=None, entryPageUrl=None, descriptionText=None, provider=None, publicType=None, iconImage=None, permissions=None, iconThumbnailImage=None, channelConfigurations=None,):\n    self.channelId = channelId\n    self.name = name\n    self.entryPageUrl = entryPageUrl\n    self.descriptionText = descriptionText\n    self.provider = provider\n    self.publicType = publicType\n    self.iconImage = iconImage\n    self.permissions = permissions\n    self.iconThumbnailImage = iconThumbnailImage\n    self.channelConfigurations = channelConfigurations\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.name = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.entryPageUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.descriptionText = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRUCT:\n          self.provider = ChannelProvider()\n          self.provider.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I32:\n          self.publicType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.iconImage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.LIST:\n          self.permissions = []\n          (_etype3, _size0) = iprot.readListBegin()\n          for _i4 in xrange(_size0):\n            _elem5 = iprot.readString()\n            self.permissions.append(_elem5)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.iconThumbnailImage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.LIST:\n          self.channelConfigurations = []\n          (_etype9, _size6) = iprot.readListBegin()\n          for _i10 in xrange(_size6):\n            _elem11 = iprot.readI32()\n            self.channelConfigurations.append(_elem11)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ChannelInfo')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.name is not None:\n      oprot.writeFieldBegin('name', TType.STRING, 3)\n      oprot.writeString(self.name)\n      oprot.writeFieldEnd()\n    if self.entryPageUrl is not None:\n      oprot.writeFieldBegin('entryPageUrl', TType.STRING, 4)\n      oprot.writeString(self.entryPageUrl)\n      oprot.writeFieldEnd()\n    if self.descriptionText is not None:\n      oprot.writeFieldBegin('descriptionText', TType.STRING, 5)\n      oprot.writeString(self.descriptionText)\n      oprot.writeFieldEnd()\n    if self.provider is not None:\n      oprot.writeFieldBegin('provider', TType.STRUCT, 6)\n      self.provider.write(oprot)\n      oprot.writeFieldEnd()\n    if self.publicType is not None:\n      oprot.writeFieldBegin('publicType', TType.I32, 7)\n      oprot.writeI32(self.publicType)\n      oprot.writeFieldEnd()\n    if self.iconImage is not None:\n      oprot.writeFieldBegin('iconImage', TType.STRING, 8)\n      oprot.writeString(self.iconImage)\n      oprot.writeFieldEnd()\n    if self.permissions is not None:\n      oprot.writeFieldBegin('permissions', TType.LIST, 9)\n      oprot.writeListBegin(TType.STRING, len(self.permissions))\n      for iter12 in self.permissions:\n        oprot.writeString(iter12)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.iconThumbnailImage is not None:\n      oprot.writeFieldBegin('iconThumbnailImage', TType.STRING, 11)\n      oprot.writeString(self.iconThumbnailImage)\n      oprot.writeFieldEnd()\n    if self.channelConfigurations is not None:\n      oprot.writeFieldBegin('channelConfigurations', TType.LIST, 12)\n      oprot.writeListBegin(TType.I32, len(self.channelConfigurations))\n      for iter13 in self.channelConfigurations:\n        oprot.writeI32(iter13)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.name)\n    value = (value * 31) ^ hash(self.entryPageUrl)\n    value = (value * 31) ^ hash(self.descriptionText)\n    value = (value * 31) ^ hash(self.provider)\n    value = (value * 31) ^ hash(self.publicType)\n    value = (value * 31) ^ hash(self.iconImage)\n    value = (value * 31) ^ hash(self.permissions)\n    value = (value * 31) ^ hash(self.iconThumbnailImage)\n    value = (value * 31) ^ hash(self.channelConfigurations)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ApprovedChannelInfo:\n  \"\"\"\n  Attributes:\n   - channelInfo\n   - approvedAt\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'channelInfo', (ChannelInfo, ChannelInfo.thrift_spec), None, ), # 1\n    (2, TType.I64, 'approvedAt', None, None, ), # 2\n  )\n\n  def __init__(self, channelInfo=None, approvedAt=None,):\n    self.channelInfo = channelInfo\n    self.approvedAt = approvedAt\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.channelInfo = ChannelInfo()\n          self.channelInfo.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.approvedAt = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ApprovedChannelInfo')\n    if self.channelInfo is not None:\n      oprot.writeFieldBegin('channelInfo', TType.STRUCT, 1)\n      self.channelInfo.write(oprot)\n      oprot.writeFieldEnd()\n    if self.approvedAt is not None:\n      oprot.writeFieldBegin('approvedAt', TType.I64, 2)\n      oprot.writeI64(self.approvedAt)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelInfo)\n    value = (value * 31) ^ hash(self.approvedAt)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ApprovedChannelInfos:\n  \"\"\"\n  Attributes:\n   - approvedChannelInfos\n   - revision\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'approvedChannelInfos', (TType.STRUCT,(ApprovedChannelInfo, ApprovedChannelInfo.thrift_spec)), None, ), # 1\n    (2, TType.I64, 'revision', None, None, ), # 2\n  )\n\n  def __init__(self, approvedChannelInfos=None, revision=None,):\n    self.approvedChannelInfos = approvedChannelInfos\n    self.revision = revision\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.approvedChannelInfos = []\n          (_etype17, _size14) = iprot.readListBegin()\n          for _i18 in xrange(_size14):\n            _elem19 = ApprovedChannelInfo()\n            _elem19.read(iprot)\n            self.approvedChannelInfos.append(_elem19)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.revision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ApprovedChannelInfos')\n    if self.approvedChannelInfos is not None:\n      oprot.writeFieldBegin('approvedChannelInfos', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.approvedChannelInfos))\n      for iter20 in self.approvedChannelInfos:\n        iter20.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.revision is not None:\n      oprot.writeFieldBegin('revision', TType.I64, 2)\n      oprot.writeI64(self.revision)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.approvedChannelInfos)\n    value = (value * 31) ^ hash(self.revision)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass AuthQrcode:\n  \"\"\"\n  Attributes:\n   - qrcode\n   - verifier\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'qrcode', None, None, ), # 1\n    (2, TType.STRING, 'verifier', None, None, ), # 2\n  )\n\n  def __init__(self, qrcode=None, verifier=None,):\n    self.qrcode = qrcode\n    self.verifier = verifier\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.qrcode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('AuthQrcode')\n    if self.qrcode is not None:\n      oprot.writeFieldBegin('qrcode', TType.STRING, 1)\n      oprot.writeString(self.qrcode)\n      oprot.writeFieldEnd()\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 2)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.qrcode)\n    value = (value * 31) ^ hash(self.verifier)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass BuddyBanner:\n  \"\"\"\n  Attributes:\n   - buddyBannerLinkType\n   - buddyBannerLink\n   - buddyBannerImageUrl\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'buddyBannerLinkType', None, None, ), # 1\n    (2, TType.STRING, 'buddyBannerLink', None, None, ), # 2\n    (3, TType.STRING, 'buddyBannerImageUrl', None, None, ), # 3\n  )\n\n  def __init__(self, buddyBannerLinkType=None, buddyBannerLink=None, buddyBannerImageUrl=None,):\n    self.buddyBannerLinkType = buddyBannerLinkType\n    self.buddyBannerLink = buddyBannerLink\n    self.buddyBannerImageUrl = buddyBannerImageUrl\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.buddyBannerLinkType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.buddyBannerLink = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.buddyBannerImageUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('BuddyBanner')\n    if self.buddyBannerLinkType is not None:\n      oprot.writeFieldBegin('buddyBannerLinkType', TType.I32, 1)\n      oprot.writeI32(self.buddyBannerLinkType)\n      oprot.writeFieldEnd()\n    if self.buddyBannerLink is not None:\n      oprot.writeFieldBegin('buddyBannerLink', TType.STRING, 2)\n      oprot.writeString(self.buddyBannerLink)\n      oprot.writeFieldEnd()\n    if self.buddyBannerImageUrl is not None:\n      oprot.writeFieldBegin('buddyBannerImageUrl', TType.STRING, 3)\n      oprot.writeString(self.buddyBannerImageUrl)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyBannerLinkType)\n    value = (value * 31) ^ hash(self.buddyBannerLink)\n    value = (value * 31) ^ hash(self.buddyBannerImageUrl)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass BuddyDetail:\n  \"\"\"\n  Attributes:\n   - mid\n   - memberCount\n   - onAir\n   - businessAccount\n   - addable\n   - acceptableContentTypes\n   - capableMyhome\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    (2, TType.I64, 'memberCount', None, None, ), # 2\n    (3, TType.BOOL, 'onAir', None, None, ), # 3\n    (4, TType.BOOL, 'businessAccount', None, None, ), # 4\n    (5, TType.BOOL, 'addable', None, None, ), # 5\n    (6, TType.SET, 'acceptableContentTypes', (TType.I32,None), None, ), # 6\n    (7, TType.BOOL, 'capableMyhome', None, None, ), # 7\n  )\n\n  def __init__(self, mid=None, memberCount=None, onAir=None, businessAccount=None, addable=None, acceptableContentTypes=None, capableMyhome=None,):\n    self.mid = mid\n    self.memberCount = memberCount\n    self.onAir = onAir\n    self.businessAccount = businessAccount\n    self.addable = addable\n    self.acceptableContentTypes = acceptableContentTypes\n    self.capableMyhome = capableMyhome\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.memberCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.BOOL:\n          self.onAir = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.BOOL:\n          self.businessAccount = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.BOOL:\n          self.addable = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.SET:\n          self.acceptableContentTypes = set()\n          (_etype24, _size21) = iprot.readSetBegin()\n          for _i25 in xrange(_size21):\n            _elem26 = iprot.readI32()\n            self.acceptableContentTypes.add(_elem26)\n          iprot.readSetEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.BOOL:\n          self.capableMyhome = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('BuddyDetail')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.memberCount is not None:\n      oprot.writeFieldBegin('memberCount', TType.I64, 2)\n      oprot.writeI64(self.memberCount)\n      oprot.writeFieldEnd()\n    if self.onAir is not None:\n      oprot.writeFieldBegin('onAir', TType.BOOL, 3)\n      oprot.writeBool(self.onAir)\n      oprot.writeFieldEnd()\n    if self.businessAccount is not None:\n      oprot.writeFieldBegin('businessAccount', TType.BOOL, 4)\n      oprot.writeBool(self.businessAccount)\n      oprot.writeFieldEnd()\n    if self.addable is not None:\n      oprot.writeFieldBegin('addable', TType.BOOL, 5)\n      oprot.writeBool(self.addable)\n      oprot.writeFieldEnd()\n    if self.acceptableContentTypes is not None:\n      oprot.writeFieldBegin('acceptableContentTypes', TType.SET, 6)\n      oprot.writeSetBegin(TType.I32, len(self.acceptableContentTypes))\n      for iter27 in self.acceptableContentTypes:\n        oprot.writeI32(iter27)\n      oprot.writeSetEnd()\n      oprot.writeFieldEnd()\n    if self.capableMyhome is not None:\n      oprot.writeFieldBegin('capableMyhome', TType.BOOL, 7)\n      oprot.writeBool(self.capableMyhome)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.memberCount)\n    value = (value * 31) ^ hash(self.onAir)\n    value = (value * 31) ^ hash(self.businessAccount)\n    value = (value * 31) ^ hash(self.addable)\n    value = (value * 31) ^ hash(self.acceptableContentTypes)\n    value = (value * 31) ^ hash(self.capableMyhome)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Contact:\n  \"\"\"\n  Attributes:\n   - mid\n   - createdTime\n   - type\n   - status\n   - relation\n   - displayName\n   - phoneticName\n   - pictureStatus\n   - thumbnailUrl\n   - statusMessage\n   - displayNameOverridden\n   - favoriteTime\n   - capableVoiceCall\n   - capableVideoCall\n   - capableMyhome\n   - capableBuddy\n   - attributes\n   - settings\n   - picturePath\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    (2, TType.I64, 'createdTime', None, None, ), # 2\n    None, # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.I32, 'type', None, None, ), # 10\n    (11, TType.I32, 'status', None, None, ), # 11\n    None, # 12\n    None, # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    None, # 20\n    (21, TType.I32, 'relation', None, None, ), # 21\n    (22, TType.STRING, 'displayName', None, None, ), # 22\n    (23, TType.STRING, 'phoneticName', None, None, ), # 23\n    (24, TType.STRING, 'pictureStatus', None, None, ), # 24\n    (25, TType.STRING, 'thumbnailUrl', None, None, ), # 25\n    (26, TType.STRING, 'statusMessage', None, None, ), # 26\n    (27, TType.STRING, 'displayNameOverridden', None, None, ), # 27\n    (28, TType.I64, 'favoriteTime', None, None, ), # 28\n    None, # 29\n    None, # 30\n    (31, TType.BOOL, 'capableVoiceCall', None, None, ), # 31\n    (32, TType.BOOL, 'capableVideoCall', None, None, ), # 32\n    (33, TType.BOOL, 'capableMyhome', None, None, ), # 33\n    (34, TType.BOOL, 'capableBuddy', None, None, ), # 34\n    (35, TType.I32, 'attributes', None, None, ), # 35\n    (36, TType.I64, 'settings', None, None, ), # 36\n    (37, TType.STRING, 'picturePath', None, None, ), # 37\n  )\n\n  def __init__(self, mid=None, createdTime=None, type=None, status=None, relation=None, displayName=None, phoneticName=None, pictureStatus=None, thumbnailUrl=None, statusMessage=None, displayNameOverridden=None, favoriteTime=None, capableVoiceCall=None, capableVideoCall=None, capableMyhome=None, capableBuddy=None, attributes=None, settings=None, picturePath=None,):\n    self.mid = mid\n    self.createdTime = createdTime\n    self.type = type\n    self.status = status\n    self.relation = relation\n    self.displayName = displayName\n    self.phoneticName = phoneticName\n    self.pictureStatus = pictureStatus\n    self.thumbnailUrl = thumbnailUrl\n    self.statusMessage = statusMessage\n    self.displayNameOverridden = displayNameOverridden\n    self.favoriteTime = favoriteTime\n    self.capableVoiceCall = capableVoiceCall\n    self.capableVideoCall = capableVideoCall\n    self.capableMyhome = capableMyhome\n    self.capableBuddy = capableBuddy\n    self.attributes = attributes\n    self.settings = settings\n    self.picturePath = picturePath\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.I32:\n          self.status = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 21:\n        if ftype == TType.I32:\n          self.relation = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 22:\n        if ftype == TType.STRING:\n          self.displayName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 23:\n        if ftype == TType.STRING:\n          self.phoneticName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 24:\n        if ftype == TType.STRING:\n          self.pictureStatus = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 25:\n        if ftype == TType.STRING:\n          self.thumbnailUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 26:\n        if ftype == TType.STRING:\n          self.statusMessage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 27:\n        if ftype == TType.STRING:\n          self.displayNameOverridden = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 28:\n        if ftype == TType.I64:\n          self.favoriteTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 31:\n        if ftype == TType.BOOL:\n          self.capableVoiceCall = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 32:\n        if ftype == TType.BOOL:\n          self.capableVideoCall = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 33:\n        if ftype == TType.BOOL:\n          self.capableMyhome = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 34:\n        if ftype == TType.BOOL:\n          self.capableBuddy = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 35:\n        if ftype == TType.I32:\n          self.attributes = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 36:\n        if ftype == TType.I64:\n          self.settings = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 37:\n        if ftype == TType.STRING:\n          self.picturePath = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Contact')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 2)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 10)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    if self.status is not None:\n      oprot.writeFieldBegin('status', TType.I32, 11)\n      oprot.writeI32(self.status)\n      oprot.writeFieldEnd()\n    if self.relation is not None:\n      oprot.writeFieldBegin('relation', TType.I32, 21)\n      oprot.writeI32(self.relation)\n      oprot.writeFieldEnd()\n    if self.displayName is not None:\n      oprot.writeFieldBegin('displayName', TType.STRING, 22)\n      oprot.writeString(self.displayName)\n      oprot.writeFieldEnd()\n    if self.phoneticName is not None:\n      oprot.writeFieldBegin('phoneticName', TType.STRING, 23)\n      oprot.writeString(self.phoneticName)\n      oprot.writeFieldEnd()\n    if self.pictureStatus is not None:\n      oprot.writeFieldBegin('pictureStatus', TType.STRING, 24)\n      oprot.writeString(self.pictureStatus)\n      oprot.writeFieldEnd()\n    if self.thumbnailUrl is not None:\n      oprot.writeFieldBegin('thumbnailUrl', TType.STRING, 25)\n      oprot.writeString(self.thumbnailUrl)\n      oprot.writeFieldEnd()\n    if self.statusMessage is not None:\n      oprot.writeFieldBegin('statusMessage', TType.STRING, 26)\n      oprot.writeString(self.statusMessage)\n      oprot.writeFieldEnd()\n    if self.displayNameOverridden is not None:\n      oprot.writeFieldBegin('displayNameOverridden', TType.STRING, 27)\n      oprot.writeString(self.displayNameOverridden)\n      oprot.writeFieldEnd()\n    if self.favoriteTime is not None:\n      oprot.writeFieldBegin('favoriteTime', TType.I64, 28)\n      oprot.writeI64(self.favoriteTime)\n      oprot.writeFieldEnd()\n    if self.capableVoiceCall is not None:\n      oprot.writeFieldBegin('capableVoiceCall', TType.BOOL, 31)\n      oprot.writeBool(self.capableVoiceCall)\n      oprot.writeFieldEnd()\n    if self.capableVideoCall is not None:\n      oprot.writeFieldBegin('capableVideoCall', TType.BOOL, 32)\n      oprot.writeBool(self.capableVideoCall)\n      oprot.writeFieldEnd()\n    if self.capableMyhome is not None:\n      oprot.writeFieldBegin('capableMyhome', TType.BOOL, 33)\n      oprot.writeBool(self.capableMyhome)\n      oprot.writeFieldEnd()\n    if self.capableBuddy is not None:\n      oprot.writeFieldBegin('capableBuddy', TType.BOOL, 34)\n      oprot.writeBool(self.capableBuddy)\n      oprot.writeFieldEnd()\n    if self.attributes is not None:\n      oprot.writeFieldBegin('attributes', TType.I32, 35)\n      oprot.writeI32(self.attributes)\n      oprot.writeFieldEnd()\n    if self.settings is not None:\n      oprot.writeFieldBegin('settings', TType.I64, 36)\n      oprot.writeI64(self.settings)\n      oprot.writeFieldEnd()\n    if self.picturePath is not None:\n      oprot.writeFieldBegin('picturePath', TType.STRING, 37)\n      oprot.writeString(self.picturePath)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.status)\n    value = (value * 31) ^ hash(self.relation)\n    value = (value * 31) ^ hash(self.displayName)\n    value = (value * 31) ^ hash(self.phoneticName)\n    value = (value * 31) ^ hash(self.pictureStatus)\n    value = (value * 31) ^ hash(self.thumbnailUrl)\n    value = (value * 31) ^ hash(self.statusMessage)\n    value = (value * 31) ^ hash(self.displayNameOverridden)\n    value = (value * 31) ^ hash(self.favoriteTime)\n    value = (value * 31) ^ hash(self.capableVoiceCall)\n    value = (value * 31) ^ hash(self.capableVideoCall)\n    value = (value * 31) ^ hash(self.capableMyhome)\n    value = (value * 31) ^ hash(self.capableBuddy)\n    value = (value * 31) ^ hash(self.attributes)\n    value = (value * 31) ^ hash(self.settings)\n    value = (value * 31) ^ hash(self.picturePath)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass BuddyList:\n  \"\"\"\n  Attributes:\n   - classification\n   - displayName\n   - totalBuddyCount\n   - popularContacts\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'classification', None, None, ), # 1\n    (2, TType.STRING, 'displayName', None, None, ), # 2\n    (3, TType.I32, 'totalBuddyCount', None, None, ), # 3\n    (4, TType.LIST, 'popularContacts', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 4\n  )\n\n  def __init__(self, classification=None, displayName=None, totalBuddyCount=None, popularContacts=None,):\n    self.classification = classification\n    self.displayName = displayName\n    self.totalBuddyCount = totalBuddyCount\n    self.popularContacts = popularContacts\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.classification = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.displayName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.totalBuddyCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.LIST:\n          self.popularContacts = []\n          (_etype31, _size28) = iprot.readListBegin()\n          for _i32 in xrange(_size28):\n            _elem33 = Contact()\n            _elem33.read(iprot)\n            self.popularContacts.append(_elem33)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('BuddyList')\n    if self.classification is not None:\n      oprot.writeFieldBegin('classification', TType.STRING, 1)\n      oprot.writeString(self.classification)\n      oprot.writeFieldEnd()\n    if self.displayName is not None:\n      oprot.writeFieldBegin('displayName', TType.STRING, 2)\n      oprot.writeString(self.displayName)\n      oprot.writeFieldEnd()\n    if self.totalBuddyCount is not None:\n      oprot.writeFieldBegin('totalBuddyCount', TType.I32, 3)\n      oprot.writeI32(self.totalBuddyCount)\n      oprot.writeFieldEnd()\n    if self.popularContacts is not None:\n      oprot.writeFieldBegin('popularContacts', TType.LIST, 4)\n      oprot.writeListBegin(TType.STRUCT, len(self.popularContacts))\n      for iter34 in self.popularContacts:\n        iter34.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.classification)\n    value = (value * 31) ^ hash(self.displayName)\n    value = (value * 31) ^ hash(self.totalBuddyCount)\n    value = (value * 31) ^ hash(self.popularContacts)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Location:\n  \"\"\"\n  Attributes:\n   - title\n   - address\n   - latitude\n   - longitude\n   - phone\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'title', None, None, ), # 1\n    (2, TType.STRING, 'address', None, None, ), # 2\n    (3, TType.DOUBLE, 'latitude', None, None, ), # 3\n    (4, TType.DOUBLE, 'longitude', None, None, ), # 4\n    (5, TType.STRING, 'phone', None, None, ), # 5\n  )\n\n  def __init__(self, title=None, address=None, latitude=None, longitude=None, phone=None,):\n    self.title = title\n    self.address = address\n    self.latitude = latitude\n    self.longitude = longitude\n    self.phone = phone\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.title = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.address = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.DOUBLE:\n          self.latitude = iprot.readDouble()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.DOUBLE:\n          self.longitude = iprot.readDouble()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.phone = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Location')\n    if self.title is not None:\n      oprot.writeFieldBegin('title', TType.STRING, 1)\n      oprot.writeString(self.title)\n      oprot.writeFieldEnd()\n    if self.address is not None:\n      oprot.writeFieldBegin('address', TType.STRING, 2)\n      oprot.writeString(self.address)\n      oprot.writeFieldEnd()\n    if self.latitude is not None:\n      oprot.writeFieldBegin('latitude', TType.DOUBLE, 3)\n      oprot.writeDouble(self.latitude)\n      oprot.writeFieldEnd()\n    if self.longitude is not None:\n      oprot.writeFieldBegin('longitude', TType.DOUBLE, 4)\n      oprot.writeDouble(self.longitude)\n      oprot.writeFieldEnd()\n    if self.phone is not None:\n      oprot.writeFieldBegin('phone', TType.STRING, 5)\n      oprot.writeString(self.phone)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.title)\n    value = (value * 31) ^ hash(self.address)\n    value = (value * 31) ^ hash(self.latitude)\n    value = (value * 31) ^ hash(self.longitude)\n    value = (value * 31) ^ hash(self.phone)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass BuddyMessageRequest:\n  \"\"\"\n  Attributes:\n   - contentType\n   - text\n   - location\n   - content\n   - contentMetadata\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'contentType', None, None, ), # 1\n    (2, TType.STRING, 'text', None, None, ), # 2\n    (3, TType.STRUCT, 'location', (Location, Location.thrift_spec), None, ), # 3\n    (4, TType.STRING, 'content', None, None, ), # 4\n    (5, TType.MAP, 'contentMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 5\n  )\n\n  def __init__(self, contentType=None, text=None, location=None, content=None, contentMetadata=None,):\n    self.contentType = contentType\n    self.text = text\n    self.location = location\n    self.content = content\n    self.contentMetadata = contentMetadata\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.contentType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.text = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRUCT:\n          self.location = Location()\n          self.location.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.content = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.MAP:\n          self.contentMetadata = {}\n          (_ktype36, _vtype37, _size35 ) = iprot.readMapBegin()\n          for _i39 in xrange(_size35):\n            _key40 = iprot.readString()\n            _val41 = iprot.readString()\n            self.contentMetadata[_key40] = _val41\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('BuddyMessageRequest')\n    if self.contentType is not None:\n      oprot.writeFieldBegin('contentType', TType.I32, 1)\n      oprot.writeI32(self.contentType)\n      oprot.writeFieldEnd()\n    if self.text is not None:\n      oprot.writeFieldBegin('text', TType.STRING, 2)\n      oprot.writeString(self.text)\n      oprot.writeFieldEnd()\n    if self.location is not None:\n      oprot.writeFieldBegin('location', TType.STRUCT, 3)\n      self.location.write(oprot)\n      oprot.writeFieldEnd()\n    if self.content is not None:\n      oprot.writeFieldBegin('content', TType.STRING, 4)\n      oprot.writeString(self.content)\n      oprot.writeFieldEnd()\n    if self.contentMetadata is not None:\n      oprot.writeFieldBegin('contentMetadata', TType.MAP, 5)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.contentMetadata))\n      for kiter42,viter43 in self.contentMetadata.items():\n        oprot.writeString(kiter42)\n        oprot.writeString(viter43)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.contentType)\n    value = (value * 31) ^ hash(self.text)\n    value = (value * 31) ^ hash(self.location)\n    value = (value * 31) ^ hash(self.content)\n    value = (value * 31) ^ hash(self.contentMetadata)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass BuddyOnAirUrls:\n  \"\"\"\n  Attributes:\n   - hls\n   - smoothStreaming\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.MAP, 'hls', (TType.STRING,None,TType.STRING,None), None, ), # 1\n    (2, TType.MAP, 'smoothStreaming', (TType.STRING,None,TType.STRING,None), None, ), # 2\n  )\n\n  def __init__(self, hls=None, smoothStreaming=None,):\n    self.hls = hls\n    self.smoothStreaming = smoothStreaming\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.MAP:\n          self.hls = {}\n          (_ktype45, _vtype46, _size44 ) = iprot.readMapBegin()\n          for _i48 in xrange(_size44):\n            _key49 = iprot.readString()\n            _val50 = iprot.readString()\n            self.hls[_key49] = _val50\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.MAP:\n          self.smoothStreaming = {}\n          (_ktype52, _vtype53, _size51 ) = iprot.readMapBegin()\n          for _i55 in xrange(_size51):\n            _key56 = iprot.readString()\n            _val57 = iprot.readString()\n            self.smoothStreaming[_key56] = _val57\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('BuddyOnAirUrls')\n    if self.hls is not None:\n      oprot.writeFieldBegin('hls', TType.MAP, 1)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.hls))\n      for kiter58,viter59 in self.hls.items():\n        oprot.writeString(kiter58)\n        oprot.writeString(viter59)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.smoothStreaming is not None:\n      oprot.writeFieldBegin('smoothStreaming', TType.MAP, 2)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.smoothStreaming))\n      for kiter60,viter61 in self.smoothStreaming.items():\n        oprot.writeString(kiter60)\n        oprot.writeString(viter61)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.hls)\n    value = (value * 31) ^ hash(self.smoothStreaming)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass BuddyOnAir:\n  \"\"\"\n  Attributes:\n   - mid\n   - freshnessLifetime\n   - onAirId\n   - onAir\n   - text\n   - viewerCount\n   - targetCount\n   - onAirType\n   - onAirUrls\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    None, # 2\n    (3, TType.I64, 'freshnessLifetime', None, None, ), # 3\n    (4, TType.STRING, 'onAirId', None, None, ), # 4\n    (5, TType.BOOL, 'onAir', None, None, ), # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    None, # 10\n    (11, TType.STRING, 'text', None, None, ), # 11\n    (12, TType.I64, 'viewerCount', None, None, ), # 12\n    (13, TType.I64, 'targetCount', None, None, ), # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    None, # 20\n    None, # 21\n    None, # 22\n    None, # 23\n    None, # 24\n    None, # 25\n    None, # 26\n    None, # 27\n    None, # 28\n    None, # 29\n    None, # 30\n    (31, TType.I32, 'onAirType', None, None, ), # 31\n    (32, TType.STRUCT, 'onAirUrls', (BuddyOnAirUrls, BuddyOnAirUrls.thrift_spec), None, ), # 32\n  )\n\n  def __init__(self, mid=None, freshnessLifetime=None, onAirId=None, onAir=None, text=None, viewerCount=None, targetCount=None, onAirType=None, onAirUrls=None,):\n    self.mid = mid\n    self.freshnessLifetime = freshnessLifetime\n    self.onAirId = onAirId\n    self.onAir = onAir\n    self.text = text\n    self.viewerCount = viewerCount\n    self.targetCount = targetCount\n    self.onAirType = onAirType\n    self.onAirUrls = onAirUrls\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.freshnessLifetime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.onAirId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.BOOL:\n          self.onAir = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.text = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.I64:\n          self.viewerCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 13:\n        if ftype == TType.I64:\n          self.targetCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 31:\n        if ftype == TType.I32:\n          self.onAirType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 32:\n        if ftype == TType.STRUCT:\n          self.onAirUrls = BuddyOnAirUrls()\n          self.onAirUrls.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('BuddyOnAir')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.freshnessLifetime is not None:\n      oprot.writeFieldBegin('freshnessLifetime', TType.I64, 3)\n      oprot.writeI64(self.freshnessLifetime)\n      oprot.writeFieldEnd()\n    if self.onAirId is not None:\n      oprot.writeFieldBegin('onAirId', TType.STRING, 4)\n      oprot.writeString(self.onAirId)\n      oprot.writeFieldEnd()\n    if self.onAir is not None:\n      oprot.writeFieldBegin('onAir', TType.BOOL, 5)\n      oprot.writeBool(self.onAir)\n      oprot.writeFieldEnd()\n    if self.text is not None:\n      oprot.writeFieldBegin('text', TType.STRING, 11)\n      oprot.writeString(self.text)\n      oprot.writeFieldEnd()\n    if self.viewerCount is not None:\n      oprot.writeFieldBegin('viewerCount', TType.I64, 12)\n      oprot.writeI64(self.viewerCount)\n      oprot.writeFieldEnd()\n    if self.targetCount is not None:\n      oprot.writeFieldBegin('targetCount', TType.I64, 13)\n      oprot.writeI64(self.targetCount)\n      oprot.writeFieldEnd()\n    if self.onAirType is not None:\n      oprot.writeFieldBegin('onAirType', TType.I32, 31)\n      oprot.writeI32(self.onAirType)\n      oprot.writeFieldEnd()\n    if self.onAirUrls is not None:\n      oprot.writeFieldBegin('onAirUrls', TType.STRUCT, 32)\n      self.onAirUrls.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.freshnessLifetime)\n    value = (value * 31) ^ hash(self.onAirId)\n    value = (value * 31) ^ hash(self.onAir)\n    value = (value * 31) ^ hash(self.text)\n    value = (value * 31) ^ hash(self.viewerCount)\n    value = (value * 31) ^ hash(self.targetCount)\n    value = (value * 31) ^ hash(self.onAirType)\n    value = (value * 31) ^ hash(self.onAirUrls)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass BuddyProfile:\n  \"\"\"\n  Attributes:\n   - buddyId\n   - mid\n   - searchId\n   - displayName\n   - statusMessage\n   - contactCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'buddyId', None, None, ), # 1\n    (2, TType.STRING, 'mid', None, None, ), # 2\n    (3, TType.STRING, 'searchId', None, None, ), # 3\n    (4, TType.STRING, 'displayName', None, None, ), # 4\n    (5, TType.STRING, 'statusMessage', None, None, ), # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    None, # 10\n    (11, TType.I64, 'contactCount', None, None, ), # 11\n  )\n\n  def __init__(self, buddyId=None, mid=None, searchId=None, displayName=None, statusMessage=None, contactCount=None,):\n    self.buddyId = buddyId\n    self.mid = mid\n    self.searchId = searchId\n    self.displayName = displayName\n    self.statusMessage = statusMessage\n    self.contactCount = contactCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.buddyId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.searchId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.displayName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.statusMessage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.I64:\n          self.contactCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('BuddyProfile')\n    if self.buddyId is not None:\n      oprot.writeFieldBegin('buddyId', TType.STRING, 1)\n      oprot.writeString(self.buddyId)\n      oprot.writeFieldEnd()\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 2)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.searchId is not None:\n      oprot.writeFieldBegin('searchId', TType.STRING, 3)\n      oprot.writeString(self.searchId)\n      oprot.writeFieldEnd()\n    if self.displayName is not None:\n      oprot.writeFieldBegin('displayName', TType.STRING, 4)\n      oprot.writeString(self.displayName)\n      oprot.writeFieldEnd()\n    if self.statusMessage is not None:\n      oprot.writeFieldBegin('statusMessage', TType.STRING, 5)\n      oprot.writeString(self.statusMessage)\n      oprot.writeFieldEnd()\n    if self.contactCount is not None:\n      oprot.writeFieldBegin('contactCount', TType.I64, 11)\n      oprot.writeI64(self.contactCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.buddyId)\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.searchId)\n    value = (value * 31) ^ hash(self.displayName)\n    value = (value * 31) ^ hash(self.statusMessage)\n    value = (value * 31) ^ hash(self.contactCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass BuddySearchResult:\n  \"\"\"\n  Attributes:\n   - mid\n   - displayName\n   - pictureStatus\n   - picturePath\n   - statusMessage\n   - businessAccount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    (2, TType.STRING, 'displayName', None, None, ), # 2\n    (3, TType.STRING, 'pictureStatus', None, None, ), # 3\n    (4, TType.STRING, 'picturePath', None, None, ), # 4\n    (5, TType.STRING, 'statusMessage', None, None, ), # 5\n    (6, TType.BOOL, 'businessAccount', None, None, ), # 6\n  )\n\n  def __init__(self, mid=None, displayName=None, pictureStatus=None, picturePath=None, statusMessage=None, businessAccount=None,):\n    self.mid = mid\n    self.displayName = displayName\n    self.pictureStatus = pictureStatus\n    self.picturePath = picturePath\n    self.statusMessage = statusMessage\n    self.businessAccount = businessAccount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.displayName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.pictureStatus = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.picturePath = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.statusMessage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.BOOL:\n          self.businessAccount = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('BuddySearchResult')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.displayName is not None:\n      oprot.writeFieldBegin('displayName', TType.STRING, 2)\n      oprot.writeString(self.displayName)\n      oprot.writeFieldEnd()\n    if self.pictureStatus is not None:\n      oprot.writeFieldBegin('pictureStatus', TType.STRING, 3)\n      oprot.writeString(self.pictureStatus)\n      oprot.writeFieldEnd()\n    if self.picturePath is not None:\n      oprot.writeFieldBegin('picturePath', TType.STRING, 4)\n      oprot.writeString(self.picturePath)\n      oprot.writeFieldEnd()\n    if self.statusMessage is not None:\n      oprot.writeFieldBegin('statusMessage', TType.STRING, 5)\n      oprot.writeString(self.statusMessage)\n      oprot.writeFieldEnd()\n    if self.businessAccount is not None:\n      oprot.writeFieldBegin('businessAccount', TType.BOOL, 6)\n      oprot.writeBool(self.businessAccount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.displayName)\n    value = (value * 31) ^ hash(self.pictureStatus)\n    value = (value * 31) ^ hash(self.picturePath)\n    value = (value * 31) ^ hash(self.statusMessage)\n    value = (value * 31) ^ hash(self.businessAccount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ChannelDomain:\n  \"\"\"\n  Attributes:\n   - host\n   - removed\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'host', None, None, ), # 1\n    (2, TType.BOOL, 'removed', None, None, ), # 2\n  )\n\n  def __init__(self, host=None, removed=None,):\n    self.host = host\n    self.removed = removed\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.host = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.BOOL:\n          self.removed = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ChannelDomain')\n    if self.host is not None:\n      oprot.writeFieldBegin('host', TType.STRING, 1)\n      oprot.writeString(self.host)\n      oprot.writeFieldEnd()\n    if self.removed is not None:\n      oprot.writeFieldBegin('removed', TType.BOOL, 2)\n      oprot.writeBool(self.removed)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.host)\n    value = (value * 31) ^ hash(self.removed)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ChannelDomains:\n  \"\"\"\n  Attributes:\n   - channelDomains\n   - revision\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'channelDomains', (TType.STRUCT,(ChannelDomain, ChannelDomain.thrift_spec)), None, ), # 1\n    (2, TType.I64, 'revision', None, None, ), # 2\n  )\n\n  def __init__(self, channelDomains=None, revision=None,):\n    self.channelDomains = channelDomains\n    self.revision = revision\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.channelDomains = []\n          (_etype65, _size62) = iprot.readListBegin()\n          for _i66 in xrange(_size62):\n            _elem67 = ChannelDomain()\n            _elem67.read(iprot)\n            self.channelDomains.append(_elem67)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.revision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ChannelDomains')\n    if self.channelDomains is not None:\n      oprot.writeFieldBegin('channelDomains', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.channelDomains))\n      for iter68 in self.channelDomains:\n        iter68.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.revision is not None:\n      oprot.writeFieldBegin('revision', TType.I64, 2)\n      oprot.writeI64(self.revision)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelDomains)\n    value = (value * 31) ^ hash(self.revision)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ChannelException(TException):\n  \"\"\"\n  Attributes:\n   - code\n   - reason\n   - parameterMap\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'code', None, None, ), # 1\n    (2, TType.STRING, 'reason', None, None, ), # 2\n    (3, TType.MAP, 'parameterMap', (TType.STRING,None,TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, code=None, reason=None, parameterMap=None,):\n    self.code = code\n    self.reason = reason\n    self.parameterMap = parameterMap\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.code = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.reason = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.MAP:\n          self.parameterMap = {}\n          (_ktype70, _vtype71, _size69 ) = iprot.readMapBegin()\n          for _i73 in xrange(_size69):\n            _key74 = iprot.readString()\n            _val75 = iprot.readString()\n            self.parameterMap[_key74] = _val75\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ChannelException')\n    if self.code is not None:\n      oprot.writeFieldBegin('code', TType.I32, 1)\n      oprot.writeI32(self.code)\n      oprot.writeFieldEnd()\n    if self.reason is not None:\n      oprot.writeFieldBegin('reason', TType.STRING, 2)\n      oprot.writeString(self.reason)\n      oprot.writeFieldEnd()\n    if self.parameterMap is not None:\n      oprot.writeFieldBegin('parameterMap', TType.MAP, 3)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.parameterMap))\n      for kiter76,viter77 in self.parameterMap.items():\n        oprot.writeString(kiter76)\n        oprot.writeString(viter77)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __str__(self):\n    return repr(self)\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.code)\n    value = (value * 31) ^ hash(self.reason)\n    value = (value * 31) ^ hash(self.parameterMap)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ChannelInfos:\n  \"\"\"\n  Attributes:\n   - channelInfos\n   - revision\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'channelInfos', (TType.STRUCT,(ChannelInfo, ChannelInfo.thrift_spec)), None, ), # 1\n    (2, TType.I64, 'revision', None, None, ), # 2\n  )\n\n  def __init__(self, channelInfos=None, revision=None,):\n    self.channelInfos = channelInfos\n    self.revision = revision\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.channelInfos = []\n          (_etype81, _size78) = iprot.readListBegin()\n          for _i82 in xrange(_size78):\n            _elem83 = ChannelInfo()\n            _elem83.read(iprot)\n            self.channelInfos.append(_elem83)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.revision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ChannelInfos')\n    if self.channelInfos is not None:\n      oprot.writeFieldBegin('channelInfos', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.channelInfos))\n      for iter84 in self.channelInfos:\n        iter84.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.revision is not None:\n      oprot.writeFieldBegin('revision', TType.I64, 2)\n      oprot.writeI64(self.revision)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelInfos)\n    value = (value * 31) ^ hash(self.revision)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ChannelNotificationSetting:\n  \"\"\"\n  Attributes:\n   - channelId\n   - name\n   - notificationReceivable\n   - messageReceivable\n   - showDefault\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n    (2, TType.STRING, 'name', None, None, ), # 2\n    (3, TType.BOOL, 'notificationReceivable', None, None, ), # 3\n    (4, TType.BOOL, 'messageReceivable', None, None, ), # 4\n    (5, TType.BOOL, 'showDefault', None, None, ), # 5\n  )\n\n  def __init__(self, channelId=None, name=None, notificationReceivable=None, messageReceivable=None, showDefault=None,):\n    self.channelId = channelId\n    self.name = name\n    self.notificationReceivable = notificationReceivable\n    self.messageReceivable = messageReceivable\n    self.showDefault = showDefault\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.name = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.BOOL:\n          self.notificationReceivable = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.BOOL:\n          self.messageReceivable = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.BOOL:\n          self.showDefault = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ChannelNotificationSetting')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.name is not None:\n      oprot.writeFieldBegin('name', TType.STRING, 2)\n      oprot.writeString(self.name)\n      oprot.writeFieldEnd()\n    if self.notificationReceivable is not None:\n      oprot.writeFieldBegin('notificationReceivable', TType.BOOL, 3)\n      oprot.writeBool(self.notificationReceivable)\n      oprot.writeFieldEnd()\n    if self.messageReceivable is not None:\n      oprot.writeFieldBegin('messageReceivable', TType.BOOL, 4)\n      oprot.writeBool(self.messageReceivable)\n      oprot.writeFieldEnd()\n    if self.showDefault is not None:\n      oprot.writeFieldBegin('showDefault', TType.BOOL, 5)\n      oprot.writeBool(self.showDefault)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.name)\n    value = (value * 31) ^ hash(self.notificationReceivable)\n    value = (value * 31) ^ hash(self.messageReceivable)\n    value = (value * 31) ^ hash(self.showDefault)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ChannelSyncDatas:\n  \"\"\"\n  Attributes:\n   - channelInfos\n   - channelDomains\n   - revision\n   - expires\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'channelInfos', (TType.STRUCT,(ChannelInfo, ChannelInfo.thrift_spec)), None, ), # 1\n    (2, TType.LIST, 'channelDomains', (TType.STRUCT,(ChannelDomain, ChannelDomain.thrift_spec)), None, ), # 2\n    (3, TType.I64, 'revision', None, None, ), # 3\n    (4, TType.I64, 'expires', None, None, ), # 4\n  )\n\n  def __init__(self, channelInfos=None, channelDomains=None, revision=None, expires=None,):\n    self.channelInfos = channelInfos\n    self.channelDomains = channelDomains\n    self.revision = revision\n    self.expires = expires\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.channelInfos = []\n          (_etype88, _size85) = iprot.readListBegin()\n          for _i89 in xrange(_size85):\n            _elem90 = ChannelInfo()\n            _elem90.read(iprot)\n            self.channelInfos.append(_elem90)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.channelDomains = []\n          (_etype94, _size91) = iprot.readListBegin()\n          for _i95 in xrange(_size91):\n            _elem96 = ChannelDomain()\n            _elem96.read(iprot)\n            self.channelDomains.append(_elem96)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.revision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I64:\n          self.expires = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ChannelSyncDatas')\n    if self.channelInfos is not None:\n      oprot.writeFieldBegin('channelInfos', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.channelInfos))\n      for iter97 in self.channelInfos:\n        iter97.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.channelDomains is not None:\n      oprot.writeFieldBegin('channelDomains', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRUCT, len(self.channelDomains))\n      for iter98 in self.channelDomains:\n        iter98.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.revision is not None:\n      oprot.writeFieldBegin('revision', TType.I64, 3)\n      oprot.writeI64(self.revision)\n      oprot.writeFieldEnd()\n    if self.expires is not None:\n      oprot.writeFieldBegin('expires', TType.I64, 4)\n      oprot.writeI64(self.expires)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelInfos)\n    value = (value * 31) ^ hash(self.channelDomains)\n    value = (value * 31) ^ hash(self.revision)\n    value = (value * 31) ^ hash(self.expires)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ChannelToken:\n  \"\"\"\n  Attributes:\n   - token\n   - obsToken\n   - expiration\n   - refreshToken\n   - channelAccessToken\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'token', None, None, ), # 1\n    (2, TType.STRING, 'obsToken', None, None, ), # 2\n    (3, TType.I64, 'expiration', None, None, ), # 3\n    (4, TType.STRING, 'refreshToken', None, None, ), # 4\n    (5, TType.STRING, 'channelAccessToken', None, None, ), # 5\n  )\n\n  def __init__(self, token=None, obsToken=None, expiration=None, refreshToken=None, channelAccessToken=None,):\n    self.token = token\n    self.obsToken = obsToken\n    self.expiration = expiration\n    self.refreshToken = refreshToken\n    self.channelAccessToken = channelAccessToken\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.token = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.obsToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.expiration = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.refreshToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.channelAccessToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ChannelToken')\n    if self.token is not None:\n      oprot.writeFieldBegin('token', TType.STRING, 1)\n      oprot.writeString(self.token)\n      oprot.writeFieldEnd()\n    if self.obsToken is not None:\n      oprot.writeFieldBegin('obsToken', TType.STRING, 2)\n      oprot.writeString(self.obsToken)\n      oprot.writeFieldEnd()\n    if self.expiration is not None:\n      oprot.writeFieldBegin('expiration', TType.I64, 3)\n      oprot.writeI64(self.expiration)\n      oprot.writeFieldEnd()\n    if self.refreshToken is not None:\n      oprot.writeFieldBegin('refreshToken', TType.STRING, 4)\n      oprot.writeString(self.refreshToken)\n      oprot.writeFieldEnd()\n    if self.channelAccessToken is not None:\n      oprot.writeFieldBegin('channelAccessToken', TType.STRING, 5)\n      oprot.writeString(self.channelAccessToken)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.token)\n    value = (value * 31) ^ hash(self.obsToken)\n    value = (value * 31) ^ hash(self.expiration)\n    value = (value * 31) ^ hash(self.refreshToken)\n    value = (value * 31) ^ hash(self.channelAccessToken)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Coin:\n  \"\"\"\n  Attributes:\n   - freeCoinBalance\n   - payedCoinBalance\n   - totalCoinBalance\n   - rewardCoinBalance\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'freeCoinBalance', None, None, ), # 1\n    (2, TType.I32, 'payedCoinBalance', None, None, ), # 2\n    (3, TType.I32, 'totalCoinBalance', None, None, ), # 3\n    (4, TType.I32, 'rewardCoinBalance', None, None, ), # 4\n  )\n\n  def __init__(self, freeCoinBalance=None, payedCoinBalance=None, totalCoinBalance=None, rewardCoinBalance=None,):\n    self.freeCoinBalance = freeCoinBalance\n    self.payedCoinBalance = payedCoinBalance\n    self.totalCoinBalance = totalCoinBalance\n    self.rewardCoinBalance = rewardCoinBalance\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.freeCoinBalance = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.payedCoinBalance = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.totalCoinBalance = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.rewardCoinBalance = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Coin')\n    if self.freeCoinBalance is not None:\n      oprot.writeFieldBegin('freeCoinBalance', TType.I32, 1)\n      oprot.writeI32(self.freeCoinBalance)\n      oprot.writeFieldEnd()\n    if self.payedCoinBalance is not None:\n      oprot.writeFieldBegin('payedCoinBalance', TType.I32, 2)\n      oprot.writeI32(self.payedCoinBalance)\n      oprot.writeFieldEnd()\n    if self.totalCoinBalance is not None:\n      oprot.writeFieldBegin('totalCoinBalance', TType.I32, 3)\n      oprot.writeI32(self.totalCoinBalance)\n      oprot.writeFieldEnd()\n    if self.rewardCoinBalance is not None:\n      oprot.writeFieldBegin('rewardCoinBalance', TType.I32, 4)\n      oprot.writeI32(self.rewardCoinBalance)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.freeCoinBalance)\n    value = (value * 31) ^ hash(self.payedCoinBalance)\n    value = (value * 31) ^ hash(self.totalCoinBalance)\n    value = (value * 31) ^ hash(self.rewardCoinBalance)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CoinPayLoad:\n  \"\"\"\n  Attributes:\n   - payCoin\n   - freeCoin\n   - type\n   - rewardCoin\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'payCoin', None, None, ), # 1\n    (2, TType.I32, 'freeCoin', None, None, ), # 2\n    (3, TType.I32, 'type', None, None, ), # 3\n    (4, TType.I32, 'rewardCoin', None, None, ), # 4\n  )\n\n  def __init__(self, payCoin=None, freeCoin=None, type=None, rewardCoin=None,):\n    self.payCoin = payCoin\n    self.freeCoin = freeCoin\n    self.type = type\n    self.rewardCoin = rewardCoin\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.payCoin = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.freeCoin = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.rewardCoin = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CoinPayLoad')\n    if self.payCoin is not None:\n      oprot.writeFieldBegin('payCoin', TType.I32, 1)\n      oprot.writeI32(self.payCoin)\n      oprot.writeFieldEnd()\n    if self.freeCoin is not None:\n      oprot.writeFieldBegin('freeCoin', TType.I32, 2)\n      oprot.writeI32(self.freeCoin)\n      oprot.writeFieldEnd()\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 3)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    if self.rewardCoin is not None:\n      oprot.writeFieldBegin('rewardCoin', TType.I32, 4)\n      oprot.writeI32(self.rewardCoin)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.payCoin)\n    value = (value * 31) ^ hash(self.freeCoin)\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.rewardCoin)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CoinHistory:\n  \"\"\"\n  Attributes:\n   - payDate\n   - coinBalance\n   - coin\n   - price\n   - title\n   - refund\n   - paySeq\n   - currency\n   - currencySign\n   - displayPrice\n   - payload\n   - channelId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I64, 'payDate', None, None, ), # 1\n    (2, TType.I32, 'coinBalance', None, None, ), # 2\n    (3, TType.I32, 'coin', None, None, ), # 3\n    (4, TType.STRING, 'price', None, None, ), # 4\n    (5, TType.STRING, 'title', None, None, ), # 5\n    (6, TType.BOOL, 'refund', None, None, ), # 6\n    (7, TType.STRING, 'paySeq', None, None, ), # 7\n    (8, TType.STRING, 'currency', None, None, ), # 8\n    (9, TType.STRING, 'currencySign', None, None, ), # 9\n    (10, TType.STRING, 'displayPrice', None, None, ), # 10\n    (11, TType.STRUCT, 'payload', (CoinPayLoad, CoinPayLoad.thrift_spec), None, ), # 11\n    (12, TType.STRING, 'channelId', None, None, ), # 12\n  )\n\n  def __init__(self, payDate=None, coinBalance=None, coin=None, price=None, title=None, refund=None, paySeq=None, currency=None, currencySign=None, displayPrice=None, payload=None, channelId=None,):\n    self.payDate = payDate\n    self.coinBalance = coinBalance\n    self.coin = coin\n    self.price = price\n    self.title = title\n    self.refund = refund\n    self.paySeq = paySeq\n    self.currency = currency\n    self.currencySign = currencySign\n    self.displayPrice = displayPrice\n    self.payload = payload\n    self.channelId = channelId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I64:\n          self.payDate = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.coinBalance = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.coin = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.price = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.title = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.BOOL:\n          self.refund = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.STRING:\n          self.paySeq = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.currency = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.STRING:\n          self.currencySign = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.STRING:\n          self.displayPrice = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRUCT:\n          self.payload = CoinPayLoad()\n          self.payload.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CoinHistory')\n    if self.payDate is not None:\n      oprot.writeFieldBegin('payDate', TType.I64, 1)\n      oprot.writeI64(self.payDate)\n      oprot.writeFieldEnd()\n    if self.coinBalance is not None:\n      oprot.writeFieldBegin('coinBalance', TType.I32, 2)\n      oprot.writeI32(self.coinBalance)\n      oprot.writeFieldEnd()\n    if self.coin is not None:\n      oprot.writeFieldBegin('coin', TType.I32, 3)\n      oprot.writeI32(self.coin)\n      oprot.writeFieldEnd()\n    if self.price is not None:\n      oprot.writeFieldBegin('price', TType.STRING, 4)\n      oprot.writeString(self.price)\n      oprot.writeFieldEnd()\n    if self.title is not None:\n      oprot.writeFieldBegin('title', TType.STRING, 5)\n      oprot.writeString(self.title)\n      oprot.writeFieldEnd()\n    if self.refund is not None:\n      oprot.writeFieldBegin('refund', TType.BOOL, 6)\n      oprot.writeBool(self.refund)\n      oprot.writeFieldEnd()\n    if self.paySeq is not None:\n      oprot.writeFieldBegin('paySeq', TType.STRING, 7)\n      oprot.writeString(self.paySeq)\n      oprot.writeFieldEnd()\n    if self.currency is not None:\n      oprot.writeFieldBegin('currency', TType.STRING, 8)\n      oprot.writeString(self.currency)\n      oprot.writeFieldEnd()\n    if self.currencySign is not None:\n      oprot.writeFieldBegin('currencySign', TType.STRING, 9)\n      oprot.writeString(self.currencySign)\n      oprot.writeFieldEnd()\n    if self.displayPrice is not None:\n      oprot.writeFieldBegin('displayPrice', TType.STRING, 10)\n      oprot.writeString(self.displayPrice)\n      oprot.writeFieldEnd()\n    if self.payload is not None:\n      oprot.writeFieldBegin('payload', TType.STRUCT, 11)\n      self.payload.write(oprot)\n      oprot.writeFieldEnd()\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 12)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.payDate)\n    value = (value * 31) ^ hash(self.coinBalance)\n    value = (value * 31) ^ hash(self.coin)\n    value = (value * 31) ^ hash(self.price)\n    value = (value * 31) ^ hash(self.title)\n    value = (value * 31) ^ hash(self.refund)\n    value = (value * 31) ^ hash(self.paySeq)\n    value = (value * 31) ^ hash(self.currency)\n    value = (value * 31) ^ hash(self.currencySign)\n    value = (value * 31) ^ hash(self.displayPrice)\n    value = (value * 31) ^ hash(self.payload)\n    value = (value * 31) ^ hash(self.channelId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CoinHistoryCondition:\n  \"\"\"\n  Attributes:\n   - start\n   - size\n   - language\n   - eddt\n   - appStoreCode\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I64, 'start', None, None, ), # 1\n    (2, TType.I32, 'size', None, None, ), # 2\n    (3, TType.STRING, 'language', None, None, ), # 3\n    (4, TType.STRING, 'eddt', None, None, ), # 4\n    (5, TType.I32, 'appStoreCode', None, None, ), # 5\n  )\n\n  def __init__(self, start=None, size=None, language=None, eddt=None, appStoreCode=None,):\n    self.start = start\n    self.size = size\n    self.language = language\n    self.eddt = eddt\n    self.appStoreCode = appStoreCode\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I64:\n          self.start = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.size = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.eddt = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.appStoreCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CoinHistoryCondition')\n    if self.start is not None:\n      oprot.writeFieldBegin('start', TType.I64, 1)\n      oprot.writeI64(self.start)\n      oprot.writeFieldEnd()\n    if self.size is not None:\n      oprot.writeFieldBegin('size', TType.I32, 2)\n      oprot.writeI32(self.size)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 3)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.eddt is not None:\n      oprot.writeFieldBegin('eddt', TType.STRING, 4)\n      oprot.writeString(self.eddt)\n      oprot.writeFieldEnd()\n    if self.appStoreCode is not None:\n      oprot.writeFieldBegin('appStoreCode', TType.I32, 5)\n      oprot.writeI32(self.appStoreCode)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.start)\n    value = (value * 31) ^ hash(self.size)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.eddt)\n    value = (value * 31) ^ hash(self.appStoreCode)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CoinHistoryResult:\n  \"\"\"\n  Attributes:\n   - historys\n   - balance\n   - hasNext\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'historys', (TType.STRUCT,(CoinHistory, CoinHistory.thrift_spec)), None, ), # 1\n    (2, TType.STRUCT, 'balance', (Coin, Coin.thrift_spec), None, ), # 2\n    (3, TType.BOOL, 'hasNext', None, None, ), # 3\n  )\n\n  def __init__(self, historys=None, balance=None, hasNext=None,):\n    self.historys = historys\n    self.balance = balance\n    self.hasNext = hasNext\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.historys = []\n          (_etype102, _size99) = iprot.readListBegin()\n          for _i103 in xrange(_size99):\n            _elem104 = CoinHistory()\n            _elem104.read(iprot)\n            self.historys.append(_elem104)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.balance = Coin()\n          self.balance.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.BOOL:\n          self.hasNext = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CoinHistoryResult')\n    if self.historys is not None:\n      oprot.writeFieldBegin('historys', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.historys))\n      for iter105 in self.historys:\n        iter105.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.balance is not None:\n      oprot.writeFieldBegin('balance', TType.STRUCT, 2)\n      self.balance.write(oprot)\n      oprot.writeFieldEnd()\n    if self.hasNext is not None:\n      oprot.writeFieldBegin('hasNext', TType.BOOL, 3)\n      oprot.writeBool(self.hasNext)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.historys)\n    value = (value * 31) ^ hash(self.balance)\n    value = (value * 31) ^ hash(self.hasNext)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CoinProductItem:\n  \"\"\"\n  Attributes:\n   - itemId\n   - coin\n   - freeCoin\n   - currency\n   - price\n   - displayPrice\n   - name\n   - desc\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'itemId', None, None, ), # 1\n    (2, TType.I32, 'coin', None, None, ), # 2\n    (3, TType.I32, 'freeCoin', None, None, ), # 3\n    None, # 4\n    (5, TType.STRING, 'currency', None, None, ), # 5\n    (6, TType.STRING, 'price', None, None, ), # 6\n    (7, TType.STRING, 'displayPrice', None, None, ), # 7\n    (8, TType.STRING, 'name', None, None, ), # 8\n    (9, TType.STRING, 'desc', None, None, ), # 9\n  )\n\n  def __init__(self, itemId=None, coin=None, freeCoin=None, currency=None, price=None, displayPrice=None, name=None, desc=None,):\n    self.itemId = itemId\n    self.coin = coin\n    self.freeCoin = freeCoin\n    self.currency = currency\n    self.price = price\n    self.displayPrice = displayPrice\n    self.name = name\n    self.desc = desc\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.itemId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.coin = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.freeCoin = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.currency = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.price = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.STRING:\n          self.displayPrice = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.name = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.STRING:\n          self.desc = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CoinProductItem')\n    if self.itemId is not None:\n      oprot.writeFieldBegin('itemId', TType.STRING, 1)\n      oprot.writeString(self.itemId)\n      oprot.writeFieldEnd()\n    if self.coin is not None:\n      oprot.writeFieldBegin('coin', TType.I32, 2)\n      oprot.writeI32(self.coin)\n      oprot.writeFieldEnd()\n    if self.freeCoin is not None:\n      oprot.writeFieldBegin('freeCoin', TType.I32, 3)\n      oprot.writeI32(self.freeCoin)\n      oprot.writeFieldEnd()\n    if self.currency is not None:\n      oprot.writeFieldBegin('currency', TType.STRING, 5)\n      oprot.writeString(self.currency)\n      oprot.writeFieldEnd()\n    if self.price is not None:\n      oprot.writeFieldBegin('price', TType.STRING, 6)\n      oprot.writeString(self.price)\n      oprot.writeFieldEnd()\n    if self.displayPrice is not None:\n      oprot.writeFieldBegin('displayPrice', TType.STRING, 7)\n      oprot.writeString(self.displayPrice)\n      oprot.writeFieldEnd()\n    if self.name is not None:\n      oprot.writeFieldBegin('name', TType.STRING, 8)\n      oprot.writeString(self.name)\n      oprot.writeFieldEnd()\n    if self.desc is not None:\n      oprot.writeFieldBegin('desc', TType.STRING, 9)\n      oprot.writeString(self.desc)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.itemId)\n    value = (value * 31) ^ hash(self.coin)\n    value = (value * 31) ^ hash(self.freeCoin)\n    value = (value * 31) ^ hash(self.currency)\n    value = (value * 31) ^ hash(self.price)\n    value = (value * 31) ^ hash(self.displayPrice)\n    value = (value * 31) ^ hash(self.name)\n    value = (value * 31) ^ hash(self.desc)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CoinPurchaseConfirm:\n  \"\"\"\n  Attributes:\n   - orderId\n   - appStoreCode\n   - receipt\n   - signature\n   - seller\n   - requestType\n   - ignoreReceipt\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'orderId', None, None, ), # 1\n    (2, TType.I32, 'appStoreCode', None, None, ), # 2\n    (3, TType.STRING, 'receipt', None, None, ), # 3\n    (4, TType.STRING, 'signature', None, None, ), # 4\n    (5, TType.STRING, 'seller', None, None, ), # 5\n    (6, TType.STRING, 'requestType', None, None, ), # 6\n    (7, TType.BOOL, 'ignoreReceipt', None, None, ), # 7\n  )\n\n  def __init__(self, orderId=None, appStoreCode=None, receipt=None, signature=None, seller=None, requestType=None, ignoreReceipt=None,):\n    self.orderId = orderId\n    self.appStoreCode = appStoreCode\n    self.receipt = receipt\n    self.signature = signature\n    self.seller = seller\n    self.requestType = requestType\n    self.ignoreReceipt = ignoreReceipt\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.orderId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.appStoreCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.receipt = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.signature = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.seller = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.requestType = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.BOOL:\n          self.ignoreReceipt = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CoinPurchaseConfirm')\n    if self.orderId is not None:\n      oprot.writeFieldBegin('orderId', TType.STRING, 1)\n      oprot.writeString(self.orderId)\n      oprot.writeFieldEnd()\n    if self.appStoreCode is not None:\n      oprot.writeFieldBegin('appStoreCode', TType.I32, 2)\n      oprot.writeI32(self.appStoreCode)\n      oprot.writeFieldEnd()\n    if self.receipt is not None:\n      oprot.writeFieldBegin('receipt', TType.STRING, 3)\n      oprot.writeString(self.receipt)\n      oprot.writeFieldEnd()\n    if self.signature is not None:\n      oprot.writeFieldBegin('signature', TType.STRING, 4)\n      oprot.writeString(self.signature)\n      oprot.writeFieldEnd()\n    if self.seller is not None:\n      oprot.writeFieldBegin('seller', TType.STRING, 5)\n      oprot.writeString(self.seller)\n      oprot.writeFieldEnd()\n    if self.requestType is not None:\n      oprot.writeFieldBegin('requestType', TType.STRING, 6)\n      oprot.writeString(self.requestType)\n      oprot.writeFieldEnd()\n    if self.ignoreReceipt is not None:\n      oprot.writeFieldBegin('ignoreReceipt', TType.BOOL, 7)\n      oprot.writeBool(self.ignoreReceipt)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.orderId)\n    value = (value * 31) ^ hash(self.appStoreCode)\n    value = (value * 31) ^ hash(self.receipt)\n    value = (value * 31) ^ hash(self.signature)\n    value = (value * 31) ^ hash(self.seller)\n    value = (value * 31) ^ hash(self.requestType)\n    value = (value * 31) ^ hash(self.ignoreReceipt)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CoinPurchaseReservation:\n  \"\"\"\n  Attributes:\n   - productId\n   - country\n   - currency\n   - price\n   - appStoreCode\n   - language\n   - pgCode\n   - redirectUrl\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'productId', None, None, ), # 1\n    (2, TType.STRING, 'country', None, None, ), # 2\n    (3, TType.STRING, 'currency', None, None, ), # 3\n    (4, TType.STRING, 'price', None, None, ), # 4\n    (5, TType.I32, 'appStoreCode', None, None, ), # 5\n    (6, TType.STRING, 'language', None, None, ), # 6\n    (7, TType.I32, 'pgCode', None, None, ), # 7\n    (8, TType.STRING, 'redirectUrl', None, None, ), # 8\n  )\n\n  def __init__(self, productId=None, country=None, currency=None, price=None, appStoreCode=None, language=None, pgCode=None, redirectUrl=None,):\n    self.productId = productId\n    self.country = country\n    self.currency = currency\n    self.price = price\n    self.appStoreCode = appStoreCode\n    self.language = language\n    self.pgCode = pgCode\n    self.redirectUrl = redirectUrl\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.productId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.currency = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.price = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.appStoreCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I32:\n          self.pgCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.redirectUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CoinPurchaseReservation')\n    if self.productId is not None:\n      oprot.writeFieldBegin('productId', TType.STRING, 1)\n      oprot.writeString(self.productId)\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 2)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    if self.currency is not None:\n      oprot.writeFieldBegin('currency', TType.STRING, 3)\n      oprot.writeString(self.currency)\n      oprot.writeFieldEnd()\n    if self.price is not None:\n      oprot.writeFieldBegin('price', TType.STRING, 4)\n      oprot.writeString(self.price)\n      oprot.writeFieldEnd()\n    if self.appStoreCode is not None:\n      oprot.writeFieldBegin('appStoreCode', TType.I32, 5)\n      oprot.writeI32(self.appStoreCode)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 6)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.pgCode is not None:\n      oprot.writeFieldBegin('pgCode', TType.I32, 7)\n      oprot.writeI32(self.pgCode)\n      oprot.writeFieldEnd()\n    if self.redirectUrl is not None:\n      oprot.writeFieldBegin('redirectUrl', TType.STRING, 8)\n      oprot.writeString(self.redirectUrl)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.productId)\n    value = (value * 31) ^ hash(self.country)\n    value = (value * 31) ^ hash(self.currency)\n    value = (value * 31) ^ hash(self.price)\n    value = (value * 31) ^ hash(self.appStoreCode)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.pgCode)\n    value = (value * 31) ^ hash(self.redirectUrl)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CoinUseReservationItem:\n  \"\"\"\n  Attributes:\n   - itemId\n   - itemName\n   - amount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'itemId', None, None, ), # 1\n    (2, TType.STRING, 'itemName', None, None, ), # 2\n    (3, TType.I32, 'amount', None, None, ), # 3\n  )\n\n  def __init__(self, itemId=None, itemName=None, amount=None,):\n    self.itemId = itemId\n    self.itemName = itemName\n    self.amount = amount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.itemId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.itemName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.amount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CoinUseReservationItem')\n    if self.itemId is not None:\n      oprot.writeFieldBegin('itemId', TType.STRING, 1)\n      oprot.writeString(self.itemId)\n      oprot.writeFieldEnd()\n    if self.itemName is not None:\n      oprot.writeFieldBegin('itemName', TType.STRING, 2)\n      oprot.writeString(self.itemName)\n      oprot.writeFieldEnd()\n    if self.amount is not None:\n      oprot.writeFieldBegin('amount', TType.I32, 3)\n      oprot.writeI32(self.amount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.itemId)\n    value = (value * 31) ^ hash(self.itemName)\n    value = (value * 31) ^ hash(self.amount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CoinUseReservation:\n  \"\"\"\n  Attributes:\n   - channelId\n   - shopOrderId\n   - appStoreCode\n   - items\n   - country\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n    (2, TType.STRING, 'shopOrderId', None, None, ), # 2\n    (3, TType.I32, 'appStoreCode', None, None, ), # 3\n    (4, TType.LIST, 'items', (TType.STRUCT,(CoinUseReservationItem, CoinUseReservationItem.thrift_spec)), None, ), # 4\n    (5, TType.STRING, 'country', None, None, ), # 5\n  )\n\n  def __init__(self, channelId=None, shopOrderId=None, appStoreCode=None, items=None, country=None,):\n    self.channelId = channelId\n    self.shopOrderId = shopOrderId\n    self.appStoreCode = appStoreCode\n    self.items = items\n    self.country = country\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.shopOrderId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.appStoreCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.LIST:\n          self.items = []\n          (_etype109, _size106) = iprot.readListBegin()\n          for _i110 in xrange(_size106):\n            _elem111 = CoinUseReservationItem()\n            _elem111.read(iprot)\n            self.items.append(_elem111)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.country = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CoinUseReservation')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.shopOrderId is not None:\n      oprot.writeFieldBegin('shopOrderId', TType.STRING, 2)\n      oprot.writeString(self.shopOrderId)\n      oprot.writeFieldEnd()\n    if self.appStoreCode is not None:\n      oprot.writeFieldBegin('appStoreCode', TType.I32, 3)\n      oprot.writeI32(self.appStoreCode)\n      oprot.writeFieldEnd()\n    if self.items is not None:\n      oprot.writeFieldBegin('items', TType.LIST, 4)\n      oprot.writeListBegin(TType.STRUCT, len(self.items))\n      for iter112 in self.items:\n        iter112.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.country is not None:\n      oprot.writeFieldBegin('country', TType.STRING, 5)\n      oprot.writeString(self.country)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.shopOrderId)\n    value = (value * 31) ^ hash(self.appStoreCode)\n    value = (value * 31) ^ hash(self.items)\n    value = (value * 31) ^ hash(self.country)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass CompactContact:\n  \"\"\"\n  Attributes:\n   - mid\n   - createdTime\n   - modifiedTime\n   - status\n   - settings\n   - displayNameOverridden\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    (2, TType.I64, 'createdTime', None, None, ), # 2\n    (3, TType.I64, 'modifiedTime', None, None, ), # 3\n    (4, TType.I32, 'status', None, None, ), # 4\n    (5, TType.I64, 'settings', None, None, ), # 5\n    (6, TType.STRING, 'displayNameOverridden', None, None, ), # 6\n  )\n\n  def __init__(self, mid=None, createdTime=None, modifiedTime=None, status=None, settings=None, displayNameOverridden=None,):\n    self.mid = mid\n    self.createdTime = createdTime\n    self.modifiedTime = modifiedTime\n    self.status = status\n    self.settings = settings\n    self.displayNameOverridden = displayNameOverridden\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.modifiedTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.status = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I64:\n          self.settings = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.displayNameOverridden = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('CompactContact')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 2)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.modifiedTime is not None:\n      oprot.writeFieldBegin('modifiedTime', TType.I64, 3)\n      oprot.writeI64(self.modifiedTime)\n      oprot.writeFieldEnd()\n    if self.status is not None:\n      oprot.writeFieldBegin('status', TType.I32, 4)\n      oprot.writeI32(self.status)\n      oprot.writeFieldEnd()\n    if self.settings is not None:\n      oprot.writeFieldBegin('settings', TType.I64, 5)\n      oprot.writeI64(self.settings)\n      oprot.writeFieldEnd()\n    if self.displayNameOverridden is not None:\n      oprot.writeFieldBegin('displayNameOverridden', TType.STRING, 6)\n      oprot.writeString(self.displayNameOverridden)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.modifiedTime)\n    value = (value * 31) ^ hash(self.status)\n    value = (value * 31) ^ hash(self.settings)\n    value = (value * 31) ^ hash(self.displayNameOverridden)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ContactModification:\n  \"\"\"\n  Attributes:\n   - type\n   - luid\n   - phones\n   - emails\n   - userids\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'type', None, None, ), # 1\n    (2, TType.STRING, 'luid', None, None, ), # 2\n    None, # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    None, # 10\n    (11, TType.LIST, 'phones', (TType.STRING,None), None, ), # 11\n    (12, TType.LIST, 'emails', (TType.STRING,None), None, ), # 12\n    (13, TType.LIST, 'userids', (TType.STRING,None), None, ), # 13\n  )\n\n  def __init__(self, type=None, luid=None, phones=None, emails=None, userids=None,):\n    self.type = type\n    self.luid = luid\n    self.phones = phones\n    self.emails = emails\n    self.userids = userids\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.luid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.LIST:\n          self.phones = []\n          (_etype116, _size113) = iprot.readListBegin()\n          for _i117 in xrange(_size113):\n            _elem118 = iprot.readString()\n            self.phones.append(_elem118)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.LIST:\n          self.emails = []\n          (_etype122, _size119) = iprot.readListBegin()\n          for _i123 in xrange(_size119):\n            _elem124 = iprot.readString()\n            self.emails.append(_elem124)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 13:\n        if ftype == TType.LIST:\n          self.userids = []\n          (_etype128, _size125) = iprot.readListBegin()\n          for _i129 in xrange(_size125):\n            _elem130 = iprot.readString()\n            self.userids.append(_elem130)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ContactModification')\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 1)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    if self.luid is not None:\n      oprot.writeFieldBegin('luid', TType.STRING, 2)\n      oprot.writeString(self.luid)\n      oprot.writeFieldEnd()\n    if self.phones is not None:\n      oprot.writeFieldBegin('phones', TType.LIST, 11)\n      oprot.writeListBegin(TType.STRING, len(self.phones))\n      for iter131 in self.phones:\n        oprot.writeString(iter131)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.emails is not None:\n      oprot.writeFieldBegin('emails', TType.LIST, 12)\n      oprot.writeListBegin(TType.STRING, len(self.emails))\n      for iter132 in self.emails:\n        oprot.writeString(iter132)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.userids is not None:\n      oprot.writeFieldBegin('userids', TType.LIST, 13)\n      oprot.writeListBegin(TType.STRING, len(self.userids))\n      for iter133 in self.userids:\n        oprot.writeString(iter133)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.luid)\n    value = (value * 31) ^ hash(self.phones)\n    value = (value * 31) ^ hash(self.emails)\n    value = (value * 31) ^ hash(self.userids)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ContactRegistration:\n  \"\"\"\n  Attributes:\n   - contact\n   - luid\n   - contactType\n   - contactKey\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'contact', (Contact, Contact.thrift_spec), None, ), # 1\n    None, # 2\n    None, # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.STRING, 'luid', None, None, ), # 10\n    (11, TType.I32, 'contactType', None, None, ), # 11\n    (12, TType.STRING, 'contactKey', None, None, ), # 12\n  )\n\n  def __init__(self, contact=None, luid=None, contactType=None, contactKey=None,):\n    self.contact = contact\n    self.luid = luid\n    self.contactType = contactType\n    self.contactKey = contactKey\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.contact = Contact()\n          self.contact.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.STRING:\n          self.luid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.I32:\n          self.contactType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.contactKey = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ContactRegistration')\n    if self.contact is not None:\n      oprot.writeFieldBegin('contact', TType.STRUCT, 1)\n      self.contact.write(oprot)\n      oprot.writeFieldEnd()\n    if self.luid is not None:\n      oprot.writeFieldBegin('luid', TType.STRING, 10)\n      oprot.writeString(self.luid)\n      oprot.writeFieldEnd()\n    if self.contactType is not None:\n      oprot.writeFieldBegin('contactType', TType.I32, 11)\n      oprot.writeI32(self.contactType)\n      oprot.writeFieldEnd()\n    if self.contactKey is not None:\n      oprot.writeFieldBegin('contactKey', TType.STRING, 12)\n      oprot.writeString(self.contactKey)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.contact)\n    value = (value * 31) ^ hash(self.luid)\n    value = (value * 31) ^ hash(self.contactType)\n    value = (value * 31) ^ hash(self.contactKey)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ContactReport:\n  \"\"\"\n  Attributes:\n   - mid\n   - exists\n   - contact\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    (2, TType.BOOL, 'exists', None, None, ), # 2\n    (3, TType.STRUCT, 'contact', (Contact, Contact.thrift_spec), None, ), # 3\n  )\n\n  def __init__(self, mid=None, exists=None, contact=None,):\n    self.mid = mid\n    self.exists = exists\n    self.contact = contact\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.BOOL:\n          self.exists = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRUCT:\n          self.contact = Contact()\n          self.contact.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ContactReport')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.exists is not None:\n      oprot.writeFieldBegin('exists', TType.BOOL, 2)\n      oprot.writeBool(self.exists)\n      oprot.writeFieldEnd()\n    if self.contact is not None:\n      oprot.writeFieldBegin('contact', TType.STRUCT, 3)\n      self.contact.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.exists)\n    value = (value * 31) ^ hash(self.contact)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ContactReportResult:\n  \"\"\"\n  Attributes:\n   - mid\n   - exists\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    (2, TType.BOOL, 'exists', None, None, ), # 2\n  )\n\n  def __init__(self, mid=None, exists=None,):\n    self.mid = mid\n    self.exists = exists\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.BOOL:\n          self.exists = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ContactReportResult')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.exists is not None:\n      oprot.writeFieldBegin('exists', TType.BOOL, 2)\n      oprot.writeBool(self.exists)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.exists)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass DeviceInfo:\n  \"\"\"\n  Attributes:\n   - deviceName\n   - systemName\n   - systemVersion\n   - model\n   - carrierCode\n   - carrierName\n   - applicationType\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'deviceName', None, None, ), # 1\n    (2, TType.STRING, 'systemName', None, None, ), # 2\n    (3, TType.STRING, 'systemVersion', None, None, ), # 3\n    (4, TType.STRING, 'model', None, None, ), # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.I32, 'carrierCode', None, None, ), # 10\n    (11, TType.STRING, 'carrierName', None, None, ), # 11\n    None, # 12\n    None, # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    (20, TType.I32, 'applicationType', None, None, ), # 20\n  )\n\n  def __init__(self, deviceName=None, systemName=None, systemVersion=None, model=None, carrierCode=None, carrierName=None, applicationType=None,):\n    self.deviceName = deviceName\n    self.systemName = systemName\n    self.systemVersion = systemVersion\n    self.model = model\n    self.carrierCode = carrierCode\n    self.carrierName = carrierName\n    self.applicationType = applicationType\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.deviceName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.systemName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.systemVersion = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.model = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.I32:\n          self.carrierCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.carrierName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 20:\n        if ftype == TType.I32:\n          self.applicationType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('DeviceInfo')\n    if self.deviceName is not None:\n      oprot.writeFieldBegin('deviceName', TType.STRING, 1)\n      oprot.writeString(self.deviceName)\n      oprot.writeFieldEnd()\n    if self.systemName is not None:\n      oprot.writeFieldBegin('systemName', TType.STRING, 2)\n      oprot.writeString(self.systemName)\n      oprot.writeFieldEnd()\n    if self.systemVersion is not None:\n      oprot.writeFieldBegin('systemVersion', TType.STRING, 3)\n      oprot.writeString(self.systemVersion)\n      oprot.writeFieldEnd()\n    if self.model is not None:\n      oprot.writeFieldBegin('model', TType.STRING, 4)\n      oprot.writeString(self.model)\n      oprot.writeFieldEnd()\n    if self.carrierCode is not None:\n      oprot.writeFieldBegin('carrierCode', TType.I32, 10)\n      oprot.writeI32(self.carrierCode)\n      oprot.writeFieldEnd()\n    if self.carrierName is not None:\n      oprot.writeFieldBegin('carrierName', TType.STRING, 11)\n      oprot.writeString(self.carrierName)\n      oprot.writeFieldEnd()\n    if self.applicationType is not None:\n      oprot.writeFieldBegin('applicationType', TType.I32, 20)\n      oprot.writeI32(self.applicationType)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.deviceName)\n    value = (value * 31) ^ hash(self.systemName)\n    value = (value * 31) ^ hash(self.systemVersion)\n    value = (value * 31) ^ hash(self.model)\n    value = (value * 31) ^ hash(self.carrierCode)\n    value = (value * 31) ^ hash(self.carrierName)\n    value = (value * 31) ^ hash(self.applicationType)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass EmailConfirmation:\n  \"\"\"\n  Attributes:\n   - usePasswordSet\n   - email\n   - password\n   - ignoreDuplication\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.BOOL, 'usePasswordSet', None, None, ), # 1\n    (2, TType.STRING, 'email', None, None, ), # 2\n    (3, TType.STRING, 'password', None, None, ), # 3\n    (4, TType.BOOL, 'ignoreDuplication', None, None, ), # 4\n  )\n\n  def __init__(self, usePasswordSet=None, email=None, password=None, ignoreDuplication=None,):\n    self.usePasswordSet = usePasswordSet\n    self.email = email\n    self.password = password\n    self.ignoreDuplication = ignoreDuplication\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.BOOL:\n          self.usePasswordSet = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.email = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.password = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.BOOL:\n          self.ignoreDuplication = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('EmailConfirmation')\n    if self.usePasswordSet is not None:\n      oprot.writeFieldBegin('usePasswordSet', TType.BOOL, 1)\n      oprot.writeBool(self.usePasswordSet)\n      oprot.writeFieldEnd()\n    if self.email is not None:\n      oprot.writeFieldBegin('email', TType.STRING, 2)\n      oprot.writeString(self.email)\n      oprot.writeFieldEnd()\n    if self.password is not None:\n      oprot.writeFieldBegin('password', TType.STRING, 3)\n      oprot.writeString(self.password)\n      oprot.writeFieldEnd()\n    if self.ignoreDuplication is not None:\n      oprot.writeFieldBegin('ignoreDuplication', TType.BOOL, 4)\n      oprot.writeBool(self.ignoreDuplication)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.usePasswordSet)\n    value = (value * 31) ^ hash(self.email)\n    value = (value * 31) ^ hash(self.password)\n    value = (value * 31) ^ hash(self.ignoreDuplication)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass EmailConfirmationSession:\n  \"\"\"\n  Attributes:\n   - emailConfirmationType\n   - verifier\n   - targetEmail\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'emailConfirmationType', None, None, ), # 1\n    (2, TType.STRING, 'verifier', None, None, ), # 2\n    (3, TType.STRING, 'targetEmail', None, None, ), # 3\n  )\n\n  def __init__(self, emailConfirmationType=None, verifier=None, targetEmail=None,):\n    self.emailConfirmationType = emailConfirmationType\n    self.verifier = verifier\n    self.targetEmail = targetEmail\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.emailConfirmationType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.targetEmail = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('EmailConfirmationSession')\n    if self.emailConfirmationType is not None:\n      oprot.writeFieldBegin('emailConfirmationType', TType.I32, 1)\n      oprot.writeI32(self.emailConfirmationType)\n      oprot.writeFieldEnd()\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 2)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    if self.targetEmail is not None:\n      oprot.writeFieldBegin('targetEmail', TType.STRING, 3)\n      oprot.writeString(self.targetEmail)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.emailConfirmationType)\n    value = (value * 31) ^ hash(self.verifier)\n    value = (value * 31) ^ hash(self.targetEmail)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass FriendChannelMatrix:\n  \"\"\"\n  Attributes:\n   - channelId\n   - representMid\n   - count\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'channelId', None, None, ), # 1\n    (2, TType.STRING, 'representMid', None, None, ), # 2\n    (3, TType.I32, 'count', None, None, ), # 3\n  )\n\n  def __init__(self, channelId=None, representMid=None, count=None,):\n    self.channelId = channelId\n    self.representMid = representMid\n    self.count = count\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.representMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.count = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('FriendChannelMatrix')\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 1)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.representMid is not None:\n      oprot.writeFieldBegin('representMid', TType.STRING, 2)\n      oprot.writeString(self.representMid)\n      oprot.writeFieldEnd()\n    if self.count is not None:\n      oprot.writeFieldBegin('count', TType.I32, 3)\n      oprot.writeI32(self.count)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.representMid)\n    value = (value * 31) ^ hash(self.count)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass FriendChannelMatricesResponse:\n  \"\"\"\n  Attributes:\n   - expires\n   - matrices\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I64, 'expires', None, None, ), # 1\n    (2, TType.LIST, 'matrices', (TType.STRUCT,(FriendChannelMatrix, FriendChannelMatrix.thrift_spec)), None, ), # 2\n  )\n\n  def __init__(self, expires=None, matrices=None,):\n    self.expires = expires\n    self.matrices = matrices\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I64:\n          self.expires = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.matrices = []\n          (_etype137, _size134) = iprot.readListBegin()\n          for _i138 in xrange(_size134):\n            _elem139 = FriendChannelMatrix()\n            _elem139.read(iprot)\n            self.matrices.append(_elem139)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('FriendChannelMatricesResponse')\n    if self.expires is not None:\n      oprot.writeFieldBegin('expires', TType.I64, 1)\n      oprot.writeI64(self.expires)\n      oprot.writeFieldEnd()\n    if self.matrices is not None:\n      oprot.writeFieldBegin('matrices', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRUCT, len(self.matrices))\n      for iter140 in self.matrices:\n        iter140.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.expires)\n    value = (value * 31) ^ hash(self.matrices)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Geolocation:\n  \"\"\"\n  Attributes:\n   - longitude\n   - latitude\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.DOUBLE, 'longitude', None, None, ), # 1\n    (2, TType.DOUBLE, 'latitude', None, None, ), # 2\n  )\n\n  def __init__(self, longitude=None, latitude=None,):\n    self.longitude = longitude\n    self.latitude = latitude\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.DOUBLE:\n          self.longitude = iprot.readDouble()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.DOUBLE:\n          self.latitude = iprot.readDouble()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Geolocation')\n    if self.longitude is not None:\n      oprot.writeFieldBegin('longitude', TType.DOUBLE, 1)\n      oprot.writeDouble(self.longitude)\n      oprot.writeFieldEnd()\n    if self.latitude is not None:\n      oprot.writeFieldBegin('latitude', TType.DOUBLE, 2)\n      oprot.writeDouble(self.latitude)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.longitude)\n    value = (value * 31) ^ hash(self.latitude)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass NotificationTarget:\n  \"\"\"\n  Attributes:\n   - applicationType\n   - applicationVersion\n   - region\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'applicationType', None, None, ), # 1\n    (2, TType.STRING, 'applicationVersion', None, None, ), # 2\n    (3, TType.STRING, 'region', None, None, ), # 3\n  )\n\n  def __init__(self, applicationType=None, applicationVersion=None, region=None,):\n    self.applicationType = applicationType\n    self.applicationVersion = applicationVersion\n    self.region = region\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.applicationType = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.applicationVersion = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.region = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('NotificationTarget')\n    if self.applicationType is not None:\n      oprot.writeFieldBegin('applicationType', TType.STRING, 1)\n      oprot.writeString(self.applicationType)\n      oprot.writeFieldEnd()\n    if self.applicationVersion is not None:\n      oprot.writeFieldBegin('applicationVersion', TType.STRING, 2)\n      oprot.writeString(self.applicationVersion)\n      oprot.writeFieldEnd()\n    if self.region is not None:\n      oprot.writeFieldBegin('region', TType.STRING, 3)\n      oprot.writeString(self.region)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.applicationType)\n    value = (value * 31) ^ hash(self.applicationVersion)\n    value = (value * 31) ^ hash(self.region)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass GlobalEvent:\n  \"\"\"\n  Attributes:\n   - key\n   - targets\n   - createdTime\n   - data\n   - maxDelay\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'key', None, None, ), # 1\n    (2, TType.LIST, 'targets', (TType.STRUCT,(NotificationTarget, NotificationTarget.thrift_spec)), None, ), # 2\n    (3, TType.I64, 'createdTime', None, None, ), # 3\n    (4, TType.I64, 'data', None, None, ), # 4\n    (5, TType.I32, 'maxDelay', None, None, ), # 5\n  )\n\n  def __init__(self, key=None, targets=None, createdTime=None, data=None, maxDelay=None,):\n    self.key = key\n    self.targets = targets\n    self.createdTime = createdTime\n    self.data = data\n    self.maxDelay = maxDelay\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.key = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.targets = []\n          (_etype144, _size141) = iprot.readListBegin()\n          for _i145 in xrange(_size141):\n            _elem146 = NotificationTarget()\n            _elem146.read(iprot)\n            self.targets.append(_elem146)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I64:\n          self.data = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.maxDelay = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('GlobalEvent')\n    if self.key is not None:\n      oprot.writeFieldBegin('key', TType.STRING, 1)\n      oprot.writeString(self.key)\n      oprot.writeFieldEnd()\n    if self.targets is not None:\n      oprot.writeFieldBegin('targets', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRUCT, len(self.targets))\n      for iter147 in self.targets:\n        iter147.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 3)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.data is not None:\n      oprot.writeFieldBegin('data', TType.I64, 4)\n      oprot.writeI64(self.data)\n      oprot.writeFieldEnd()\n    if self.maxDelay is not None:\n      oprot.writeFieldBegin('maxDelay', TType.I32, 5)\n      oprot.writeI32(self.maxDelay)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.key)\n    value = (value * 31) ^ hash(self.targets)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.data)\n    value = (value * 31) ^ hash(self.maxDelay)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Group:\n  \"\"\"\n  Attributes:\n   - id\n   - createdTime\n   - name\n   - pictureStatus\n   - preventJoinByTicket\n   - members\n   - creator\n   - invitee\n   - notificationDisabled\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'id', None, None, ), # 1\n    (2, TType.I64, 'createdTime', None, None, ), # 2\n    None, # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.STRING, 'name', None, None, ), # 10\n    (11, TType.STRING, 'pictureStatus', None, None, ), # 11\n    (12, TType.BOOL, 'preventJoinByTicket', None, None, ), # 12\n    None, # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    (20, TType.LIST, 'members', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 20\n    (21, TType.STRUCT, 'creator', (Contact, Contact.thrift_spec), None, ), # 21\n    (22, TType.LIST, 'invitee', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 22\n    None, # 23\n    None, # 24\n    None, # 25\n    None, # 26\n    None, # 27\n    None, # 28\n    None, # 29\n    None, # 30\n    (31, TType.BOOL, 'notificationDisabled', None, None, ), # 31\n  )\n\n  def __init__(self, id=None, createdTime=None, name=None, pictureStatus=None, preventJoinByTicket=None, members=None, creator=None, invitee=None, notificationDisabled=None,):\n    self.id = id\n    self.createdTime = createdTime\n    self.name = name\n    self.pictureStatus = pictureStatus\n    self.preventJoinByTicket = preventJoinByTicket\n    self.members = members\n    self.creator = creator\n    self.invitee = invitee\n    self.notificationDisabled = notificationDisabled\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.STRING:\n          self.name = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.pictureStatus = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.BOOL:\n          self.preventJoinByTicket = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 20:\n        if ftype == TType.LIST:\n          self.members = []\n          (_etype151, _size148) = iprot.readListBegin()\n          for _i152 in xrange(_size148):\n            _elem153 = Contact()\n            _elem153.read(iprot)\n            self.members.append(_elem153)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 21:\n        if ftype == TType.STRUCT:\n          self.creator = Contact()\n          self.creator.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 22:\n        if ftype == TType.LIST:\n          self.invitee = []\n          (_etype157, _size154) = iprot.readListBegin()\n          for _i158 in xrange(_size154):\n            _elem159 = Contact()\n            _elem159.read(iprot)\n            self.invitee.append(_elem159)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 31:\n        if ftype == TType.BOOL:\n          self.notificationDisabled = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Group')\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 1)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 2)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.name is not None:\n      oprot.writeFieldBegin('name', TType.STRING, 10)\n      oprot.writeString(self.name)\n      oprot.writeFieldEnd()\n    if self.pictureStatus is not None:\n      oprot.writeFieldBegin('pictureStatus', TType.STRING, 11)\n      oprot.writeString(self.pictureStatus)\n      oprot.writeFieldEnd()\n    if self.preventJoinByTicket is not None:\n      oprot.writeFieldBegin('preventJoinByTicket', TType.BOOL, 12)\n      oprot.writeBool(self.preventJoinByTicket)\n      oprot.writeFieldEnd()\n    if self.members is not None:\n      oprot.writeFieldBegin('members', TType.LIST, 20)\n      oprot.writeListBegin(TType.STRUCT, len(self.members))\n      for iter160 in self.members:\n        iter160.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.creator is not None:\n      oprot.writeFieldBegin('creator', TType.STRUCT, 21)\n      self.creator.write(oprot)\n      oprot.writeFieldEnd()\n    if self.invitee is not None:\n      oprot.writeFieldBegin('invitee', TType.LIST, 22)\n      oprot.writeListBegin(TType.STRUCT, len(self.invitee))\n      for iter161 in self.invitee:\n        iter161.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.notificationDisabled is not None:\n      oprot.writeFieldBegin('notificationDisabled', TType.BOOL, 31)\n      oprot.writeBool(self.notificationDisabled)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.id)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.name)\n    value = (value * 31) ^ hash(self.pictureStatus)\n    value = (value * 31) ^ hash(self.preventJoinByTicket)\n    value = (value * 31) ^ hash(self.members)\n    value = (value * 31) ^ hash(self.creator)\n    value = (value * 31) ^ hash(self.invitee)\n    value = (value * 31) ^ hash(self.notificationDisabled)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass IdentityCredential:\n  \"\"\"\n  Attributes:\n   - provider\n   - identifier\n   - password\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'provider', None, None, ), # 1\n    (2, TType.STRING, 'identifier', None, None, ), # 2\n    (3, TType.STRING, 'password', None, None, ), # 3\n  )\n\n  def __init__(self, provider=None, identifier=None, password=None,):\n    self.provider = provider\n    self.identifier = identifier\n    self.password = password\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.provider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.identifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.password = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('IdentityCredential')\n    if self.provider is not None:\n      oprot.writeFieldBegin('provider', TType.I32, 1)\n      oprot.writeI32(self.provider)\n      oprot.writeFieldEnd()\n    if self.identifier is not None:\n      oprot.writeFieldBegin('identifier', TType.STRING, 2)\n      oprot.writeString(self.identifier)\n      oprot.writeFieldEnd()\n    if self.password is not None:\n      oprot.writeFieldBegin('password', TType.STRING, 3)\n      oprot.writeString(self.password)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.provider)\n    value = (value * 31) ^ hash(self.identifier)\n    value = (value * 31) ^ hash(self.password)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass LastReadMessageId:\n  \"\"\"\n  Attributes:\n   - mid\n   - lastReadMessageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    (2, TType.STRING, 'lastReadMessageId', None, None, ), # 2\n  )\n\n  def __init__(self, mid=None, lastReadMessageId=None,):\n    self.mid = mid\n    self.lastReadMessageId = lastReadMessageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.lastReadMessageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('LastReadMessageId')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.lastReadMessageId is not None:\n      oprot.writeFieldBegin('lastReadMessageId', TType.STRING, 2)\n      oprot.writeString(self.lastReadMessageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.lastReadMessageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass LastReadMessageIds:\n  \"\"\"\n  Attributes:\n   - chatId\n   - lastReadMessageIds\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'chatId', None, None, ), # 1\n    (2, TType.LIST, 'lastReadMessageIds', (TType.STRUCT,(LastReadMessageId, LastReadMessageId.thrift_spec)), None, ), # 2\n  )\n\n  def __init__(self, chatId=None, lastReadMessageIds=None,):\n    self.chatId = chatId\n    self.lastReadMessageIds = lastReadMessageIds\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.chatId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.lastReadMessageIds = []\n          (_etype165, _size162) = iprot.readListBegin()\n          for _i166 in xrange(_size162):\n            _elem167 = LastReadMessageId()\n            _elem167.read(iprot)\n            self.lastReadMessageIds.append(_elem167)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('LastReadMessageIds')\n    if self.chatId is not None:\n      oprot.writeFieldBegin('chatId', TType.STRING, 1)\n      oprot.writeString(self.chatId)\n      oprot.writeFieldEnd()\n    if self.lastReadMessageIds is not None:\n      oprot.writeFieldBegin('lastReadMessageIds', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRUCT, len(self.lastReadMessageIds))\n      for iter168 in self.lastReadMessageIds:\n        iter168.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.chatId)\n    value = (value * 31) ^ hash(self.lastReadMessageIds)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass LoginResult:\n  \"\"\"\n  Attributes:\n   - authToken\n   - certificate\n   - verifier\n   - pinCode\n   - type\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'authToken', None, None, ), # 1\n    (2, TType.STRING, 'certificate', None, None, ), # 2\n    (3, TType.STRING, 'verifier', None, None, ), # 3\n    (4, TType.STRING, 'pinCode', None, None, ), # 4\n    (5, TType.I32, 'type', None, None, ), # 5\n  )\n\n  def __init__(self, authToken=None, certificate=None, verifier=None, pinCode=None, type=None,):\n    self.authToken = authToken\n    self.certificate = certificate\n    self.verifier = verifier\n    self.pinCode = pinCode\n    self.type = type\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.authToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.certificate = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.verifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.pinCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('LoginResult')\n    if self.authToken is not None:\n      oprot.writeFieldBegin('authToken', TType.STRING, 1)\n      oprot.writeString(self.authToken)\n      oprot.writeFieldEnd()\n    if self.certificate is not None:\n      oprot.writeFieldBegin('certificate', TType.STRING, 2)\n      oprot.writeString(self.certificate)\n      oprot.writeFieldEnd()\n    if self.verifier is not None:\n      oprot.writeFieldBegin('verifier', TType.STRING, 3)\n      oprot.writeString(self.verifier)\n      oprot.writeFieldEnd()\n    if self.pinCode is not None:\n      oprot.writeFieldBegin('pinCode', TType.STRING, 4)\n      oprot.writeString(self.pinCode)\n      oprot.writeFieldEnd()\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 5)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.authToken)\n    value = (value * 31) ^ hash(self.certificate)\n    value = (value * 31) ^ hash(self.verifier)\n    value = (value * 31) ^ hash(self.pinCode)\n    value = (value * 31) ^ hash(self.type)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass LoginSession:\n  \"\"\"\n  Attributes:\n   - tokenKey\n   - expirationTime\n   - applicationType\n   - systemName\n   - accessLocation\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'tokenKey', None, None, ), # 1\n    None, # 2\n    (3, TType.I64, 'expirationTime', None, None, ), # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    None, # 10\n    (11, TType.I32, 'applicationType', None, None, ), # 11\n    (12, TType.STRING, 'systemName', None, None, ), # 12\n    None, # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    None, # 20\n    None, # 21\n    (22, TType.STRING, 'accessLocation', None, None, ), # 22\n  )\n\n  def __init__(self, tokenKey=None, expirationTime=None, applicationType=None, systemName=None, accessLocation=None,):\n    self.tokenKey = tokenKey\n    self.expirationTime = expirationTime\n    self.applicationType = applicationType\n    self.systemName = systemName\n    self.accessLocation = accessLocation\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.tokenKey = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.expirationTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.I32:\n          self.applicationType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.systemName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 22:\n        if ftype == TType.STRING:\n          self.accessLocation = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('LoginSession')\n    if self.tokenKey is not None:\n      oprot.writeFieldBegin('tokenKey', TType.STRING, 1)\n      oprot.writeString(self.tokenKey)\n      oprot.writeFieldEnd()\n    if self.expirationTime is not None:\n      oprot.writeFieldBegin('expirationTime', TType.I64, 3)\n      oprot.writeI64(self.expirationTime)\n      oprot.writeFieldEnd()\n    if self.applicationType is not None:\n      oprot.writeFieldBegin('applicationType', TType.I32, 11)\n      oprot.writeI32(self.applicationType)\n      oprot.writeFieldEnd()\n    if self.systemName is not None:\n      oprot.writeFieldBegin('systemName', TType.STRING, 12)\n      oprot.writeString(self.systemName)\n      oprot.writeFieldEnd()\n    if self.accessLocation is not None:\n      oprot.writeFieldBegin('accessLocation', TType.STRING, 22)\n      oprot.writeString(self.accessLocation)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.tokenKey)\n    value = (value * 31) ^ hash(self.expirationTime)\n    value = (value * 31) ^ hash(self.applicationType)\n    value = (value * 31) ^ hash(self.systemName)\n    value = (value * 31) ^ hash(self.accessLocation)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Message:\n  \"\"\"\n  Attributes:\n   - from_\n   - to\n   - toType\n   - id\n   - createdTime\n   - deliveredTime\n   - text\n   - location\n   - hasContent\n   - contentType\n   - contentPreview\n   - contentMetadata\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'from_', None, None, ), # 1\n    (2, TType.STRING, 'to', None, None, ), # 2\n    (3, TType.I32, 'toType', None, None, ), # 3\n    (4, TType.STRING, 'id', None, None, ), # 4\n    (5, TType.I64, 'createdTime', None, None, ), # 5\n    (6, TType.I64, 'deliveredTime', None, None, ), # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.STRING, 'text', None, None, ), # 10\n    (11, TType.STRUCT, 'location', (Location, Location.thrift_spec), None, ), # 11\n    None, # 12\n    None, # 13\n    (14, TType.BOOL, 'hasContent', None, None, ), # 14\n    (15, TType.I32, 'contentType', None, None, ), # 15\n    None, # 16\n    (17, TType.STRING, 'contentPreview', None, None, ), # 17\n    (18, TType.MAP, 'contentMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 18\n  )\n\n  def __init__(self, from_=None, to=None, toType=None, id=None, createdTime=None, deliveredTime=None, text=None, location=None, hasContent=None, contentType=None, contentPreview=None, contentMetadata=None,):\n    self.from_ = from_\n    self.to = to\n    self.toType = toType\n    self.id = id\n    self.createdTime = createdTime\n    self.deliveredTime = deliveredTime\n    self.text = text\n    self.location = location\n    self.hasContent = hasContent\n    self.contentType = contentType\n    self.contentPreview = contentPreview\n    self.contentMetadata = contentMetadata\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.from_ = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.to = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.toType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.I64:\n          self.deliveredTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.STRING:\n          self.text = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRUCT:\n          self.location = Location()\n          self.location.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 14:\n        if ftype == TType.BOOL:\n          self.hasContent = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 15:\n        if ftype == TType.I32:\n          self.contentType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 17:\n        if ftype == TType.STRING:\n          self.contentPreview = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 18:\n        if ftype == TType.MAP:\n          self.contentMetadata = {}\n          (_ktype170, _vtype171, _size169 ) = iprot.readMapBegin()\n          for _i173 in xrange(_size169):\n            _key174 = iprot.readString()\n            _val175 = iprot.readString()\n            self.contentMetadata[_key174] = _val175\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Message')\n    if self.from_ is not None:\n      oprot.writeFieldBegin('from_', TType.STRING, 1)\n      oprot.writeString(self.from_)\n      oprot.writeFieldEnd()\n    if self.to is not None:\n      oprot.writeFieldBegin('to', TType.STRING, 2)\n      oprot.writeString(self.to)\n      oprot.writeFieldEnd()\n    if self.toType is not None:\n      oprot.writeFieldBegin('toType', TType.I32, 3)\n      oprot.writeI32(self.toType)\n      oprot.writeFieldEnd()\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 4)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 5)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.deliveredTime is not None:\n      oprot.writeFieldBegin('deliveredTime', TType.I64, 6)\n      oprot.writeI64(self.deliveredTime)\n      oprot.writeFieldEnd()\n    if self.text is not None:\n      oprot.writeFieldBegin('text', TType.STRING, 10)\n      oprot.writeString(self.text)\n      oprot.writeFieldEnd()\n    if self.location is not None:\n      oprot.writeFieldBegin('location', TType.STRUCT, 11)\n      self.location.write(oprot)\n      oprot.writeFieldEnd()\n    if self.hasContent is not None:\n      oprot.writeFieldBegin('hasContent', TType.BOOL, 14)\n      oprot.writeBool(self.hasContent)\n      oprot.writeFieldEnd()\n    if self.contentType is not None:\n      oprot.writeFieldBegin('contentType', TType.I32, 15)\n      oprot.writeI32(self.contentType)\n      oprot.writeFieldEnd()\n    if self.contentPreview is not None:\n      oprot.writeFieldBegin('contentPreview', TType.STRING, 17)\n      oprot.writeString(self.contentPreview)\n      oprot.writeFieldEnd()\n    if self.contentMetadata is not None:\n      oprot.writeFieldBegin('contentMetadata', TType.MAP, 18)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.contentMetadata))\n      for kiter176,viter177 in self.contentMetadata.items():\n        oprot.writeString(kiter176)\n        oprot.writeString(viter177)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.from_)\n    value = (value * 31) ^ hash(self.to)\n    value = (value * 31) ^ hash(self.toType)\n    value = (value * 31) ^ hash(self.id)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.deliveredTime)\n    value = (value * 31) ^ hash(self.text)\n    value = (value * 31) ^ hash(self.location)\n    value = (value * 31) ^ hash(self.hasContent)\n    value = (value * 31) ^ hash(self.contentType)\n    value = (value * 31) ^ hash(self.contentPreview)\n    value = (value * 31) ^ hash(self.contentMetadata)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass MessageOperation:\n  \"\"\"\n  Attributes:\n   - revision\n   - createdTime\n   - type\n   - reqSeq\n   - status\n   - param1\n   - param2\n   - param3\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I64, 'revision', None, None, ), # 1\n    (2, TType.I64, 'createdTime', None, None, ), # 2\n    (3, TType.I32, 'type', None, None, ), # 3\n    (4, TType.I32, 'reqSeq', None, None, ), # 4\n    (5, TType.I32, 'status', None, None, ), # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.STRING, 'param1', None, None, ), # 10\n    (11, TType.STRING, 'param2', None, None, ), # 11\n    (12, TType.STRING, 'param3', None, None, ), # 12\n    None, # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    (20, TType.STRUCT, 'message', (Message, Message.thrift_spec), None, ), # 20\n  )\n\n  def __init__(self, revision=None, createdTime=None, type=None, reqSeq=None, status=None, param1=None, param2=None, param3=None, message=None,):\n    self.revision = revision\n    self.createdTime = createdTime\n    self.type = type\n    self.reqSeq = reqSeq\n    self.status = status\n    self.param1 = param1\n    self.param2 = param2\n    self.param3 = param3\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I64:\n          self.revision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.status = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.STRING:\n          self.param1 = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.param2 = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.param3 = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 20:\n        if ftype == TType.STRUCT:\n          self.message = Message()\n          self.message.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('MessageOperation')\n    if self.revision is not None:\n      oprot.writeFieldBegin('revision', TType.I64, 1)\n      oprot.writeI64(self.revision)\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 2)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 3)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 4)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.status is not None:\n      oprot.writeFieldBegin('status', TType.I32, 5)\n      oprot.writeI32(self.status)\n      oprot.writeFieldEnd()\n    if self.param1 is not None:\n      oprot.writeFieldBegin('param1', TType.STRING, 10)\n      oprot.writeString(self.param1)\n      oprot.writeFieldEnd()\n    if self.param2 is not None:\n      oprot.writeFieldBegin('param2', TType.STRING, 11)\n      oprot.writeString(self.param2)\n      oprot.writeFieldEnd()\n    if self.param3 is not None:\n      oprot.writeFieldBegin('param3', TType.STRING, 12)\n      oprot.writeString(self.param3)\n      oprot.writeFieldEnd()\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRUCT, 20)\n      self.message.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.revision)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.status)\n    value = (value * 31) ^ hash(self.param1)\n    value = (value * 31) ^ hash(self.param2)\n    value = (value * 31) ^ hash(self.param3)\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass MessageOperations:\n  \"\"\"\n  Attributes:\n   - operations\n   - endFlag\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'operations', (TType.STRUCT,(MessageOperation, MessageOperation.thrift_spec)), None, ), # 1\n    (2, TType.BOOL, 'endFlag', None, None, ), # 2\n  )\n\n  def __init__(self, operations=None, endFlag=None,):\n    self.operations = operations\n    self.endFlag = endFlag\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.operations = []\n          (_etype181, _size178) = iprot.readListBegin()\n          for _i182 in xrange(_size178):\n            _elem183 = MessageOperation()\n            _elem183.read(iprot)\n            self.operations.append(_elem183)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.BOOL:\n          self.endFlag = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('MessageOperations')\n    if self.operations is not None:\n      oprot.writeFieldBegin('operations', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.operations))\n      for iter184 in self.operations:\n        iter184.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.endFlag is not None:\n      oprot.writeFieldBegin('endFlag', TType.BOOL, 2)\n      oprot.writeBool(self.endFlag)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.operations)\n    value = (value * 31) ^ hash(self.endFlag)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass MetaProfile:\n  \"\"\"\n  Attributes:\n   - createTime\n   - regionCode\n   - identities\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I64, 'createTime', None, None, ), # 1\n    (2, TType.STRING, 'regionCode', None, None, ), # 2\n    (3, TType.MAP, 'identities', (TType.I32,None,TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, createTime=None, regionCode=None, identities=None,):\n    self.createTime = createTime\n    self.regionCode = regionCode\n    self.identities = identities\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I64:\n          self.createTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.regionCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.MAP:\n          self.identities = {}\n          (_ktype186, _vtype187, _size185 ) = iprot.readMapBegin()\n          for _i189 in xrange(_size185):\n            _key190 = iprot.readI32()\n            _val191 = iprot.readString()\n            self.identities[_key190] = _val191\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('MetaProfile')\n    if self.createTime is not None:\n      oprot.writeFieldBegin('createTime', TType.I64, 1)\n      oprot.writeI64(self.createTime)\n      oprot.writeFieldEnd()\n    if self.regionCode is not None:\n      oprot.writeFieldBegin('regionCode', TType.STRING, 2)\n      oprot.writeString(self.regionCode)\n      oprot.writeFieldEnd()\n    if self.identities is not None:\n      oprot.writeFieldBegin('identities', TType.MAP, 3)\n      oprot.writeMapBegin(TType.I32, TType.STRING, len(self.identities))\n      for kiter192,viter193 in self.identities.items():\n        oprot.writeI32(kiter192)\n        oprot.writeString(viter193)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.createTime)\n    value = (value * 31) ^ hash(self.regionCode)\n    value = (value * 31) ^ hash(self.identities)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass NotificationItem:\n  \"\"\"\n  Attributes:\n   - id\n   - from_\n   - to\n   - fromChannel\n   - toChannel\n   - revision\n   - createdTime\n   - content\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'id', None, None, ), # 1\n    (2, TType.STRING, 'from_', None, None, ), # 2\n    (3, TType.STRING, 'to', None, None, ), # 3\n    (4, TType.STRING, 'fromChannel', None, None, ), # 4\n    (5, TType.STRING, 'toChannel', None, None, ), # 5\n    None, # 6\n    (7, TType.I64, 'revision', None, None, ), # 7\n    (8, TType.I64, 'createdTime', None, None, ), # 8\n    (9, TType.MAP, 'content', (TType.STRING,None,TType.STRING,None), None, ), # 9\n  )\n\n  def __init__(self, id=None, from_=None, to=None, fromChannel=None, toChannel=None, revision=None, createdTime=None, content=None,):\n    self.id = id\n    self.from_ = from_\n    self.to = to\n    self.fromChannel = fromChannel\n    self.toChannel = toChannel\n    self.revision = revision\n    self.createdTime = createdTime\n    self.content = content\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.from_ = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.to = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.fromChannel = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.toChannel = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I64:\n          self.revision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.MAP:\n          self.content = {}\n          (_ktype195, _vtype196, _size194 ) = iprot.readMapBegin()\n          for _i198 in xrange(_size194):\n            _key199 = iprot.readString()\n            _val200 = iprot.readString()\n            self.content[_key199] = _val200\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('NotificationItem')\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 1)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    if self.from_ is not None:\n      oprot.writeFieldBegin('from_', TType.STRING, 2)\n      oprot.writeString(self.from_)\n      oprot.writeFieldEnd()\n    if self.to is not None:\n      oprot.writeFieldBegin('to', TType.STRING, 3)\n      oprot.writeString(self.to)\n      oprot.writeFieldEnd()\n    if self.fromChannel is not None:\n      oprot.writeFieldBegin('fromChannel', TType.STRING, 4)\n      oprot.writeString(self.fromChannel)\n      oprot.writeFieldEnd()\n    if self.toChannel is not None:\n      oprot.writeFieldBegin('toChannel', TType.STRING, 5)\n      oprot.writeString(self.toChannel)\n      oprot.writeFieldEnd()\n    if self.revision is not None:\n      oprot.writeFieldBegin('revision', TType.I64, 7)\n      oprot.writeI64(self.revision)\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 8)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.content is not None:\n      oprot.writeFieldBegin('content', TType.MAP, 9)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.content))\n      for kiter201,viter202 in self.content.items():\n        oprot.writeString(kiter201)\n        oprot.writeString(viter202)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.id)\n    value = (value * 31) ^ hash(self.from_)\n    value = (value * 31) ^ hash(self.to)\n    value = (value * 31) ^ hash(self.fromChannel)\n    value = (value * 31) ^ hash(self.toChannel)\n    value = (value * 31) ^ hash(self.revision)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.content)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass NotificationFetchResult:\n  \"\"\"\n  Attributes:\n   - fetchMode\n   - itemList\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'fetchMode', None, None, ), # 1\n    (2, TType.LIST, 'itemList', (TType.STRUCT,(NotificationItem, NotificationItem.thrift_spec)), None, ), # 2\n  )\n\n  def __init__(self, fetchMode=None, itemList=None,):\n    self.fetchMode = fetchMode\n    self.itemList = itemList\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.fetchMode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.itemList = []\n          (_etype206, _size203) = iprot.readListBegin()\n          for _i207 in xrange(_size203):\n            _elem208 = NotificationItem()\n            _elem208.read(iprot)\n            self.itemList.append(_elem208)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('NotificationFetchResult')\n    if self.fetchMode is not None:\n      oprot.writeFieldBegin('fetchMode', TType.I32, 1)\n      oprot.writeI32(self.fetchMode)\n      oprot.writeFieldEnd()\n    if self.itemList is not None:\n      oprot.writeFieldBegin('itemList', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRUCT, len(self.itemList))\n      for iter209 in self.itemList:\n        iter209.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.fetchMode)\n    value = (value * 31) ^ hash(self.itemList)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Operation:\n  \"\"\"\n  Attributes:\n   - revision\n   - createdTime\n   - type\n   - reqSeq\n   - checksum\n   - status\n   - param1\n   - param2\n   - param3\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I64, 'revision', None, None, ), # 1\n    (2, TType.I64, 'createdTime', None, None, ), # 2\n    (3, TType.I32, 'type', None, None, ), # 3\n    (4, TType.I32, 'reqSeq', None, None, ), # 4\n    (5, TType.STRING, 'checksum', None, None, ), # 5\n    None, # 6\n    (7, TType.I32, 'status', None, None, ), # 7\n    None, # 8\n    None, # 9\n    (10, TType.STRING, 'param1', None, None, ), # 10\n    (11, TType.STRING, 'param2', None, None, ), # 11\n    (12, TType.STRING, 'param3', None, None, ), # 12\n    None, # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    (20, TType.STRUCT, 'message', (Message, Message.thrift_spec), None, ), # 20\n  )\n\n  def __init__(self, revision=None, createdTime=None, type=None, reqSeq=None, checksum=None, status=None, param1=None, param2=None, param3=None, message=None,):\n    self.revision = revision\n    self.createdTime = createdTime\n    self.type = type\n    self.reqSeq = reqSeq\n    self.checksum = checksum\n    self.status = status\n    self.param1 = param1\n    self.param2 = param2\n    self.param3 = param3\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I64:\n          self.revision = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.reqSeq = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.checksum = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I32:\n          self.status = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.STRING:\n          self.param1 = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.param2 = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.param3 = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 20:\n        if ftype == TType.STRUCT:\n          self.message = Message()\n          self.message.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Operation')\n    if self.revision is not None:\n      oprot.writeFieldBegin('revision', TType.I64, 1)\n      oprot.writeI64(self.revision)\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 2)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 3)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    if self.reqSeq is not None:\n      oprot.writeFieldBegin('reqSeq', TType.I32, 4)\n      oprot.writeI32(self.reqSeq)\n      oprot.writeFieldEnd()\n    if self.checksum is not None:\n      oprot.writeFieldBegin('checksum', TType.STRING, 5)\n      oprot.writeString(self.checksum)\n      oprot.writeFieldEnd()\n    if self.status is not None:\n      oprot.writeFieldBegin('status', TType.I32, 7)\n      oprot.writeI32(self.status)\n      oprot.writeFieldEnd()\n    if self.param1 is not None:\n      oprot.writeFieldBegin('param1', TType.STRING, 10)\n      oprot.writeString(self.param1)\n      oprot.writeFieldEnd()\n    if self.param2 is not None:\n      oprot.writeFieldBegin('param2', TType.STRING, 11)\n      oprot.writeString(self.param2)\n      oprot.writeFieldEnd()\n    if self.param3 is not None:\n      oprot.writeFieldBegin('param3', TType.STRING, 12)\n      oprot.writeString(self.param3)\n      oprot.writeFieldEnd()\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRUCT, 20)\n      self.message.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.revision)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.reqSeq)\n    value = (value * 31) ^ hash(self.checksum)\n    value = (value * 31) ^ hash(self.status)\n    value = (value * 31) ^ hash(self.param1)\n    value = (value * 31) ^ hash(self.param2)\n    value = (value * 31) ^ hash(self.param3)\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass PaymentReservation:\n  \"\"\"\n  Attributes:\n   - receiverMid\n   - productId\n   - language\n   - location\n   - currency\n   - price\n   - appStoreCode\n   - messageText\n   - messageTemplate\n   - packageId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'receiverMid', None, None, ), # 1\n    (2, TType.STRING, 'productId', None, None, ), # 2\n    (3, TType.STRING, 'language', None, None, ), # 3\n    (4, TType.STRING, 'location', None, None, ), # 4\n    (5, TType.STRING, 'currency', None, None, ), # 5\n    (6, TType.STRING, 'price', None, None, ), # 6\n    (7, TType.I32, 'appStoreCode', None, None, ), # 7\n    (8, TType.STRING, 'messageText', None, None, ), # 8\n    (9, TType.I32, 'messageTemplate', None, None, ), # 9\n    (10, TType.I64, 'packageId', None, None, ), # 10\n  )\n\n  def __init__(self, receiverMid=None, productId=None, language=None, location=None, currency=None, price=None, appStoreCode=None, messageText=None, messageTemplate=None, packageId=None,):\n    self.receiverMid = receiverMid\n    self.productId = productId\n    self.language = language\n    self.location = location\n    self.currency = currency\n    self.price = price\n    self.appStoreCode = appStoreCode\n    self.messageText = messageText\n    self.messageTemplate = messageTemplate\n    self.packageId = packageId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.receiverMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.productId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.language = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.location = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.currency = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.price = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I32:\n          self.appStoreCode = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.messageText = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.I32:\n          self.messageTemplate = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.I64:\n          self.packageId = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('PaymentReservation')\n    if self.receiverMid is not None:\n      oprot.writeFieldBegin('receiverMid', TType.STRING, 1)\n      oprot.writeString(self.receiverMid)\n      oprot.writeFieldEnd()\n    if self.productId is not None:\n      oprot.writeFieldBegin('productId', TType.STRING, 2)\n      oprot.writeString(self.productId)\n      oprot.writeFieldEnd()\n    if self.language is not None:\n      oprot.writeFieldBegin('language', TType.STRING, 3)\n      oprot.writeString(self.language)\n      oprot.writeFieldEnd()\n    if self.location is not None:\n      oprot.writeFieldBegin('location', TType.STRING, 4)\n      oprot.writeString(self.location)\n      oprot.writeFieldEnd()\n    if self.currency is not None:\n      oprot.writeFieldBegin('currency', TType.STRING, 5)\n      oprot.writeString(self.currency)\n      oprot.writeFieldEnd()\n    if self.price is not None:\n      oprot.writeFieldBegin('price', TType.STRING, 6)\n      oprot.writeString(self.price)\n      oprot.writeFieldEnd()\n    if self.appStoreCode is not None:\n      oprot.writeFieldBegin('appStoreCode', TType.I32, 7)\n      oprot.writeI32(self.appStoreCode)\n      oprot.writeFieldEnd()\n    if self.messageText is not None:\n      oprot.writeFieldBegin('messageText', TType.STRING, 8)\n      oprot.writeString(self.messageText)\n      oprot.writeFieldEnd()\n    if self.messageTemplate is not None:\n      oprot.writeFieldBegin('messageTemplate', TType.I32, 9)\n      oprot.writeI32(self.messageTemplate)\n      oprot.writeFieldEnd()\n    if self.packageId is not None:\n      oprot.writeFieldBegin('packageId', TType.I64, 10)\n      oprot.writeI64(self.packageId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.receiverMid)\n    value = (value * 31) ^ hash(self.productId)\n    value = (value * 31) ^ hash(self.language)\n    value = (value * 31) ^ hash(self.location)\n    value = (value * 31) ^ hash(self.currency)\n    value = (value * 31) ^ hash(self.price)\n    value = (value * 31) ^ hash(self.appStoreCode)\n    value = (value * 31) ^ hash(self.messageText)\n    value = (value * 31) ^ hash(self.messageTemplate)\n    value = (value * 31) ^ hash(self.packageId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass PaymentReservationResult:\n  \"\"\"\n  Attributes:\n   - orderId\n   - confirmUrl\n   - extras\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'orderId', None, None, ), # 1\n    (2, TType.STRING, 'confirmUrl', None, None, ), # 2\n    (3, TType.MAP, 'extras', (TType.STRING,None,TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, orderId=None, confirmUrl=None, extras=None,):\n    self.orderId = orderId\n    self.confirmUrl = confirmUrl\n    self.extras = extras\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.orderId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.confirmUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.MAP:\n          self.extras = {}\n          (_ktype211, _vtype212, _size210 ) = iprot.readMapBegin()\n          for _i214 in xrange(_size210):\n            _key215 = iprot.readString()\n            _val216 = iprot.readString()\n            self.extras[_key215] = _val216\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('PaymentReservationResult')\n    if self.orderId is not None:\n      oprot.writeFieldBegin('orderId', TType.STRING, 1)\n      oprot.writeString(self.orderId)\n      oprot.writeFieldEnd()\n    if self.confirmUrl is not None:\n      oprot.writeFieldBegin('confirmUrl', TType.STRING, 2)\n      oprot.writeString(self.confirmUrl)\n      oprot.writeFieldEnd()\n    if self.extras is not None:\n      oprot.writeFieldBegin('extras', TType.MAP, 3)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.extras))\n      for kiter217,viter218 in self.extras.items():\n        oprot.writeString(kiter217)\n        oprot.writeString(viter218)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.orderId)\n    value = (value * 31) ^ hash(self.confirmUrl)\n    value = (value * 31) ^ hash(self.extras)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Product:\n  \"\"\"\n  Attributes:\n   - productId\n   - packageId\n   - version\n   - authorName\n   - onSale\n   - validDays\n   - saleType\n   - copyright\n   - title\n   - descriptionText\n   - shopOrderId\n   - fromMid\n   - Tomid\n   - validUntil\n   - priceTier\n   - price\n   - currency\n   - currencySymbol\n   - paymentType\n   - createDate\n   - ownFlag\n   - eventType\n   - urlSchema\n   - downloadUrl\n   - buddyMid\n   - publishSince\n   - newFlag\n   - missionFlag\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'productId', None, None, ), # 1\n    (2, TType.I64, 'packageId', None, None, ), # 2\n    (3, TType.I32, 'version', None, None, ), # 3\n    (4, TType.STRING, 'authorName', None, None, ), # 4\n    (5, TType.BOOL, 'onSale', None, None, ), # 5\n    (6, TType.I32, 'validDays', None, None, ), # 6\n    (7, TType.I32, 'saleType', None, None, ), # 7\n    (8, TType.STRING, 'copyright', None, None, ), # 8\n    (9, TType.STRING, 'title', None, None, ), # 9\n    (10, TType.STRING, 'descriptionText', None, None, ), # 10\n    (11, TType.I64, 'shopOrderId', None, None, ), # 11\n    (12, TType.STRING, 'fromMid', None, None, ), # 12\n    (13, TType.STRING, 'Tomid', None, None, ), # 13\n    (14, TType.I64, 'validUntil', None, None, ), # 14\n    (15, TType.I32, 'priceTier', None, None, ), # 15\n    (16, TType.STRING, 'price', None, None, ), # 16\n    (17, TType.STRING, 'currency', None, None, ), # 17\n    (18, TType.STRING, 'currencySymbol', None, None, ), # 18\n    (19, TType.I32, 'paymentType', None, None, ), # 19\n    (20, TType.I64, 'createDate', None, None, ), # 20\n    (21, TType.BOOL, 'ownFlag', None, None, ), # 21\n    (22, TType.I32, 'eventType', None, None, ), # 22\n    (23, TType.STRING, 'urlSchema', None, None, ), # 23\n    (24, TType.STRING, 'downloadUrl', None, None, ), # 24\n    (25, TType.STRING, 'buddyMid', None, None, ), # 25\n    (26, TType.I64, 'publishSince', None, None, ), # 26\n    (27, TType.BOOL, 'newFlag', None, None, ), # 27\n    (28, TType.BOOL, 'missionFlag', None, None, ), # 28\n  )\n\n  def __init__(self, productId=None, packageId=None, version=None, authorName=None, onSale=None, validDays=None, saleType=None, copyright=None, title=None, descriptionText=None, shopOrderId=None, fromMid=None, Tomid=None, validUntil=None, priceTier=None, price=None, currency=None, currencySymbol=None, paymentType=None, createDate=None, ownFlag=None, eventType=None, urlSchema=None, downloadUrl=None, buddyMid=None, publishSince=None, newFlag=None, missionFlag=None,):\n    self.productId = productId\n    self.packageId = packageId\n    self.version = version\n    self.authorName = authorName\n    self.onSale = onSale\n    self.validDays = validDays\n    self.saleType = saleType\n    self.copyright = copyright\n    self.title = title\n    self.descriptionText = descriptionText\n    self.shopOrderId = shopOrderId\n    self.fromMid = fromMid\n    self.Tomid = Tomid\n    self.validUntil = validUntil\n    self.priceTier = priceTier\n    self.price = price\n    self.currency = currency\n    self.currencySymbol = currencySymbol\n    self.paymentType = paymentType\n    self.createDate = createDate\n    self.ownFlag = ownFlag\n    self.eventType = eventType\n    self.urlSchema = urlSchema\n    self.downloadUrl = downloadUrl\n    self.buddyMid = buddyMid\n    self.publishSince = publishSince\n    self.newFlag = newFlag\n    self.missionFlag = missionFlag\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.productId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.packageId = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.version = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.authorName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.BOOL:\n          self.onSale = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.I32:\n          self.validDays = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I32:\n          self.saleType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.copyright = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.STRING:\n          self.title = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.STRING:\n          self.descriptionText = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.I64:\n          self.shopOrderId = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.fromMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 13:\n        if ftype == TType.STRING:\n          self.Tomid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 14:\n        if ftype == TType.I64:\n          self.validUntil = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 15:\n        if ftype == TType.I32:\n          self.priceTier = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 16:\n        if ftype == TType.STRING:\n          self.price = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 17:\n        if ftype == TType.STRING:\n          self.currency = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 18:\n        if ftype == TType.STRING:\n          self.currencySymbol = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 19:\n        if ftype == TType.I32:\n          self.paymentType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 20:\n        if ftype == TType.I64:\n          self.createDate = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 21:\n        if ftype == TType.BOOL:\n          self.ownFlag = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 22:\n        if ftype == TType.I32:\n          self.eventType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 23:\n        if ftype == TType.STRING:\n          self.urlSchema = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 24:\n        if ftype == TType.STRING:\n          self.downloadUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 25:\n        if ftype == TType.STRING:\n          self.buddyMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 26:\n        if ftype == TType.I64:\n          self.publishSince = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 27:\n        if ftype == TType.BOOL:\n          self.newFlag = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 28:\n        if ftype == TType.BOOL:\n          self.missionFlag = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Product')\n    if self.productId is not None:\n      oprot.writeFieldBegin('productId', TType.STRING, 1)\n      oprot.writeString(self.productId)\n      oprot.writeFieldEnd()\n    if self.packageId is not None:\n      oprot.writeFieldBegin('packageId', TType.I64, 2)\n      oprot.writeI64(self.packageId)\n      oprot.writeFieldEnd()\n    if self.version is not None:\n      oprot.writeFieldBegin('version', TType.I32, 3)\n      oprot.writeI32(self.version)\n      oprot.writeFieldEnd()\n    if self.authorName is not None:\n      oprot.writeFieldBegin('authorName', TType.STRING, 4)\n      oprot.writeString(self.authorName)\n      oprot.writeFieldEnd()\n    if self.onSale is not None:\n      oprot.writeFieldBegin('onSale', TType.BOOL, 5)\n      oprot.writeBool(self.onSale)\n      oprot.writeFieldEnd()\n    if self.validDays is not None:\n      oprot.writeFieldBegin('validDays', TType.I32, 6)\n      oprot.writeI32(self.validDays)\n      oprot.writeFieldEnd()\n    if self.saleType is not None:\n      oprot.writeFieldBegin('saleType', TType.I32, 7)\n      oprot.writeI32(self.saleType)\n      oprot.writeFieldEnd()\n    if self.copyright is not None:\n      oprot.writeFieldBegin('copyright', TType.STRING, 8)\n      oprot.writeString(self.copyright)\n      oprot.writeFieldEnd()\n    if self.title is not None:\n      oprot.writeFieldBegin('title', TType.STRING, 9)\n      oprot.writeString(self.title)\n      oprot.writeFieldEnd()\n    if self.descriptionText is not None:\n      oprot.writeFieldBegin('descriptionText', TType.STRING, 10)\n      oprot.writeString(self.descriptionText)\n      oprot.writeFieldEnd()\n    if self.shopOrderId is not None:\n      oprot.writeFieldBegin('shopOrderId', TType.I64, 11)\n      oprot.writeI64(self.shopOrderId)\n      oprot.writeFieldEnd()\n    if self.fromMid is not None:\n      oprot.writeFieldBegin('fromMid', TType.STRING, 12)\n      oprot.writeString(self.fromMid)\n      oprot.writeFieldEnd()\n    if self.Tomid is not None:\n      oprot.writeFieldBegin('Tomid', TType.STRING, 13)\n      oprot.writeString(self.Tomid)\n      oprot.writeFieldEnd()\n    if self.validUntil is not None:\n      oprot.writeFieldBegin('validUntil', TType.I64, 14)\n      oprot.writeI64(self.validUntil)\n      oprot.writeFieldEnd()\n    if self.priceTier is not None:\n      oprot.writeFieldBegin('priceTier', TType.I32, 15)\n      oprot.writeI32(self.priceTier)\n      oprot.writeFieldEnd()\n    if self.price is not None:\n      oprot.writeFieldBegin('price', TType.STRING, 16)\n      oprot.writeString(self.price)\n      oprot.writeFieldEnd()\n    if self.currency is not None:\n      oprot.writeFieldBegin('currency', TType.STRING, 17)\n      oprot.writeString(self.currency)\n      oprot.writeFieldEnd()\n    if self.currencySymbol is not None:\n      oprot.writeFieldBegin('currencySymbol', TType.STRING, 18)\n      oprot.writeString(self.currencySymbol)\n      oprot.writeFieldEnd()\n    if self.paymentType is not None:\n      oprot.writeFieldBegin('paymentType', TType.I32, 19)\n      oprot.writeI32(self.paymentType)\n      oprot.writeFieldEnd()\n    if self.createDate is not None:\n      oprot.writeFieldBegin('createDate', TType.I64, 20)\n      oprot.writeI64(self.createDate)\n      oprot.writeFieldEnd()\n    if self.ownFlag is not None:\n      oprot.writeFieldBegin('ownFlag', TType.BOOL, 21)\n      oprot.writeBool(self.ownFlag)\n      oprot.writeFieldEnd()\n    if self.eventType is not None:\n      oprot.writeFieldBegin('eventType', TType.I32, 22)\n      oprot.writeI32(self.eventType)\n      oprot.writeFieldEnd()\n    if self.urlSchema is not None:\n      oprot.writeFieldBegin('urlSchema', TType.STRING, 23)\n      oprot.writeString(self.urlSchema)\n      oprot.writeFieldEnd()\n    if self.downloadUrl is not None:\n      oprot.writeFieldBegin('downloadUrl', TType.STRING, 24)\n      oprot.writeString(self.downloadUrl)\n      oprot.writeFieldEnd()\n    if self.buddyMid is not None:\n      oprot.writeFieldBegin('buddyMid', TType.STRING, 25)\n      oprot.writeString(self.buddyMid)\n      oprot.writeFieldEnd()\n    if self.publishSince is not None:\n      oprot.writeFieldBegin('publishSince', TType.I64, 26)\n      oprot.writeI64(self.publishSince)\n      oprot.writeFieldEnd()\n    if self.newFlag is not None:\n      oprot.writeFieldBegin('newFlag', TType.BOOL, 27)\n      oprot.writeBool(self.newFlag)\n      oprot.writeFieldEnd()\n    if self.missionFlag is not None:\n      oprot.writeFieldBegin('missionFlag', TType.BOOL, 28)\n      oprot.writeBool(self.missionFlag)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.productId)\n    value = (value * 31) ^ hash(self.packageId)\n    value = (value * 31) ^ hash(self.version)\n    value = (value * 31) ^ hash(self.authorName)\n    value = (value * 31) ^ hash(self.onSale)\n    value = (value * 31) ^ hash(self.validDays)\n    value = (value * 31) ^ hash(self.saleType)\n    value = (value * 31) ^ hash(self.copyright)\n    value = (value * 31) ^ hash(self.title)\n    value = (value * 31) ^ hash(self.descriptionText)\n    value = (value * 31) ^ hash(self.shopOrderId)\n    value = (value * 31) ^ hash(self.fromMid)\n    value = (value * 31) ^ hash(self.Tomid)\n    value = (value * 31) ^ hash(self.validUntil)\n    value = (value * 31) ^ hash(self.priceTier)\n    value = (value * 31) ^ hash(self.price)\n    value = (value * 31) ^ hash(self.currency)\n    value = (value * 31) ^ hash(self.currencySymbol)\n    value = (value * 31) ^ hash(self.paymentType)\n    value = (value * 31) ^ hash(self.createDate)\n    value = (value * 31) ^ hash(self.ownFlag)\n    value = (value * 31) ^ hash(self.eventType)\n    value = (value * 31) ^ hash(self.urlSchema)\n    value = (value * 31) ^ hash(self.downloadUrl)\n    value = (value * 31) ^ hash(self.buddyMid)\n    value = (value * 31) ^ hash(self.publishSince)\n    value = (value * 31) ^ hash(self.newFlag)\n    value = (value * 31) ^ hash(self.missionFlag)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ProductList:\n  \"\"\"\n  Attributes:\n   - hasNext\n   - bannerSequence\n   - bannerTargetType\n   - bannerTargetPath\n   - productList\n   - bannerLang\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.BOOL, 'hasNext', None, None, ), # 1\n    None, # 2\n    None, # 3\n    (4, TType.I64, 'bannerSequence', None, None, ), # 4\n    (5, TType.I32, 'bannerTargetType', None, None, ), # 5\n    (6, TType.STRING, 'bannerTargetPath', None, None, ), # 6\n    (7, TType.LIST, 'productList', (TType.STRUCT,(Product, Product.thrift_spec)), None, ), # 7\n    (8, TType.STRING, 'bannerLang', None, None, ), # 8\n  )\n\n  def __init__(self, hasNext=None, bannerSequence=None, bannerTargetType=None, bannerTargetPath=None, productList=None, bannerLang=None,):\n    self.hasNext = hasNext\n    self.bannerSequence = bannerSequence\n    self.bannerTargetType = bannerTargetType\n    self.bannerTargetPath = bannerTargetPath\n    self.productList = productList\n    self.bannerLang = bannerLang\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.BOOL:\n          self.hasNext = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I64:\n          self.bannerSequence = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I32:\n          self.bannerTargetType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.bannerTargetPath = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.LIST:\n          self.productList = []\n          (_etype222, _size219) = iprot.readListBegin()\n          for _i223 in xrange(_size219):\n            _elem224 = Product()\n            _elem224.read(iprot)\n            self.productList.append(_elem224)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.STRING:\n          self.bannerLang = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ProductList')\n    if self.hasNext is not None:\n      oprot.writeFieldBegin('hasNext', TType.BOOL, 1)\n      oprot.writeBool(self.hasNext)\n      oprot.writeFieldEnd()\n    if self.bannerSequence is not None:\n      oprot.writeFieldBegin('bannerSequence', TType.I64, 4)\n      oprot.writeI64(self.bannerSequence)\n      oprot.writeFieldEnd()\n    if self.bannerTargetType is not None:\n      oprot.writeFieldBegin('bannerTargetType', TType.I32, 5)\n      oprot.writeI32(self.bannerTargetType)\n      oprot.writeFieldEnd()\n    if self.bannerTargetPath is not None:\n      oprot.writeFieldBegin('bannerTargetPath', TType.STRING, 6)\n      oprot.writeString(self.bannerTargetPath)\n      oprot.writeFieldEnd()\n    if self.productList is not None:\n      oprot.writeFieldBegin('productList', TType.LIST, 7)\n      oprot.writeListBegin(TType.STRUCT, len(self.productList))\n      for iter225 in self.productList:\n        iter225.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.bannerLang is not None:\n      oprot.writeFieldBegin('bannerLang', TType.STRING, 8)\n      oprot.writeString(self.bannerLang)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.hasNext)\n    value = (value * 31) ^ hash(self.bannerSequence)\n    value = (value * 31) ^ hash(self.bannerTargetType)\n    value = (value * 31) ^ hash(self.bannerTargetPath)\n    value = (value * 31) ^ hash(self.productList)\n    value = (value * 31) ^ hash(self.bannerLang)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ProductSimple:\n  \"\"\"\n  Attributes:\n   - productId\n   - packageId\n   - version\n   - onSale\n   - validUntil\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'productId', None, None, ), # 1\n    (2, TType.I64, 'packageId', None, None, ), # 2\n    (3, TType.I32, 'version', None, None, ), # 3\n    (4, TType.BOOL, 'onSale', None, None, ), # 4\n    (5, TType.I64, 'validUntil', None, None, ), # 5\n  )\n\n  def __init__(self, productId=None, packageId=None, version=None, onSale=None, validUntil=None,):\n    self.productId = productId\n    self.packageId = packageId\n    self.version = version\n    self.onSale = onSale\n    self.validUntil = validUntil\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.productId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.packageId = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.version = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.BOOL:\n          self.onSale = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I64:\n          self.validUntil = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ProductSimple')\n    if self.productId is not None:\n      oprot.writeFieldBegin('productId', TType.STRING, 1)\n      oprot.writeString(self.productId)\n      oprot.writeFieldEnd()\n    if self.packageId is not None:\n      oprot.writeFieldBegin('packageId', TType.I64, 2)\n      oprot.writeI64(self.packageId)\n      oprot.writeFieldEnd()\n    if self.version is not None:\n      oprot.writeFieldBegin('version', TType.I32, 3)\n      oprot.writeI32(self.version)\n      oprot.writeFieldEnd()\n    if self.onSale is not None:\n      oprot.writeFieldBegin('onSale', TType.BOOL, 4)\n      oprot.writeBool(self.onSale)\n      oprot.writeFieldEnd()\n    if self.validUntil is not None:\n      oprot.writeFieldBegin('validUntil', TType.I64, 5)\n      oprot.writeI64(self.validUntil)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.productId)\n    value = (value * 31) ^ hash(self.packageId)\n    value = (value * 31) ^ hash(self.version)\n    value = (value * 31) ^ hash(self.onSale)\n    value = (value * 31) ^ hash(self.validUntil)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ProductSimpleList:\n  \"\"\"\n  Attributes:\n   - hasNext\n   - reinvokeHour\n   - lastVersionSeq\n   - productList\n   - recentNewReleaseDate\n   - recentEventReleaseDate\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.BOOL, 'hasNext', None, None, ), # 1\n    (2, TType.I32, 'reinvokeHour', None, None, ), # 2\n    (3, TType.I64, 'lastVersionSeq', None, None, ), # 3\n    (4, TType.LIST, 'productList', (TType.STRUCT,(ProductSimple, ProductSimple.thrift_spec)), None, ), # 4\n    (5, TType.I64, 'recentNewReleaseDate', None, None, ), # 5\n    (6, TType.I64, 'recentEventReleaseDate', None, None, ), # 6\n  )\n\n  def __init__(self, hasNext=None, reinvokeHour=None, lastVersionSeq=None, productList=None, recentNewReleaseDate=None, recentEventReleaseDate=None,):\n    self.hasNext = hasNext\n    self.reinvokeHour = reinvokeHour\n    self.lastVersionSeq = lastVersionSeq\n    self.productList = productList\n    self.recentNewReleaseDate = recentNewReleaseDate\n    self.recentEventReleaseDate = recentEventReleaseDate\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.BOOL:\n          self.hasNext = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.reinvokeHour = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I64:\n          self.lastVersionSeq = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.LIST:\n          self.productList = []\n          (_etype229, _size226) = iprot.readListBegin()\n          for _i230 in xrange(_size226):\n            _elem231 = ProductSimple()\n            _elem231.read(iprot)\n            self.productList.append(_elem231)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I64:\n          self.recentNewReleaseDate = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.I64:\n          self.recentEventReleaseDate = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ProductSimpleList')\n    if self.hasNext is not None:\n      oprot.writeFieldBegin('hasNext', TType.BOOL, 1)\n      oprot.writeBool(self.hasNext)\n      oprot.writeFieldEnd()\n    if self.reinvokeHour is not None:\n      oprot.writeFieldBegin('reinvokeHour', TType.I32, 2)\n      oprot.writeI32(self.reinvokeHour)\n      oprot.writeFieldEnd()\n    if self.lastVersionSeq is not None:\n      oprot.writeFieldBegin('lastVersionSeq', TType.I64, 3)\n      oprot.writeI64(self.lastVersionSeq)\n      oprot.writeFieldEnd()\n    if self.productList is not None:\n      oprot.writeFieldBegin('productList', TType.LIST, 4)\n      oprot.writeListBegin(TType.STRUCT, len(self.productList))\n      for iter232 in self.productList:\n        iter232.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.recentNewReleaseDate is not None:\n      oprot.writeFieldBegin('recentNewReleaseDate', TType.I64, 5)\n      oprot.writeI64(self.recentNewReleaseDate)\n      oprot.writeFieldEnd()\n    if self.recentEventReleaseDate is not None:\n      oprot.writeFieldBegin('recentEventReleaseDate', TType.I64, 6)\n      oprot.writeI64(self.recentEventReleaseDate)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.hasNext)\n    value = (value * 31) ^ hash(self.reinvokeHour)\n    value = (value * 31) ^ hash(self.lastVersionSeq)\n    value = (value * 31) ^ hash(self.productList)\n    value = (value * 31) ^ hash(self.recentNewReleaseDate)\n    value = (value * 31) ^ hash(self.recentEventReleaseDate)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Profile:\n  \"\"\"\n  Attributes:\n   - mid\n   - userid\n   - phone\n   - email\n   - regionCode\n   - displayName\n   - phoneticName\n   - pictureStatus\n   - thumbnailUrl\n   - statusMessage\n   - allowSearchByUserid\n   - allowSearchByEmail\n   - picturePath\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    None, # 2\n    (3, TType.STRING, 'userid', None, None, ), # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.STRING, 'phone', None, None, ), # 10\n    (11, TType.STRING, 'email', None, None, ), # 11\n    (12, TType.STRING, 'regionCode', None, None, ), # 12\n    None, # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    (20, TType.STRING, 'displayName', None, None, ), # 20\n    (21, TType.STRING, 'phoneticName', None, None, ), # 21\n    (22, TType.STRING, 'pictureStatus', None, None, ), # 22\n    (23, TType.STRING, 'thumbnailUrl', None, None, ), # 23\n    (24, TType.STRING, 'statusMessage', None, None, ), # 24\n    None, # 25\n    None, # 26\n    None, # 27\n    None, # 28\n    None, # 29\n    None, # 30\n    (31, TType.BOOL, 'allowSearchByUserid', None, None, ), # 31\n    (32, TType.BOOL, 'allowSearchByEmail', None, None, ), # 32\n    (33, TType.STRING, 'picturePath', None, None, ), # 33\n  )\n\n  def __init__(self, mid=None, userid=None, phone=None, email=None, regionCode=None, displayName=None, phoneticName=None, pictureStatus=None, thumbnailUrl=None, statusMessage=None, allowSearchByUserid=None, allowSearchByEmail=None, picturePath=None,):\n    self.mid = mid\n    self.userid = userid\n    self.phone = phone\n    self.email = email\n    self.regionCode = regionCode\n    self.displayName = displayName\n    self.phoneticName = phoneticName\n    self.pictureStatus = pictureStatus\n    self.thumbnailUrl = thumbnailUrl\n    self.statusMessage = statusMessage\n    self.allowSearchByUserid = allowSearchByUserid\n    self.allowSearchByEmail = allowSearchByEmail\n    self.picturePath = picturePath\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.userid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.STRING:\n          self.phone = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.email = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.regionCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 20:\n        if ftype == TType.STRING:\n          self.displayName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 21:\n        if ftype == TType.STRING:\n          self.phoneticName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 22:\n        if ftype == TType.STRING:\n          self.pictureStatus = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 23:\n        if ftype == TType.STRING:\n          self.thumbnailUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 24:\n        if ftype == TType.STRING:\n          self.statusMessage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 31:\n        if ftype == TType.BOOL:\n          self.allowSearchByUserid = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 32:\n        if ftype == TType.BOOL:\n          self.allowSearchByEmail = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 33:\n        if ftype == TType.STRING:\n          self.picturePath = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Profile')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.userid is not None:\n      oprot.writeFieldBegin('userid', TType.STRING, 3)\n      oprot.writeString(self.userid)\n      oprot.writeFieldEnd()\n    if self.phone is not None:\n      oprot.writeFieldBegin('phone', TType.STRING, 10)\n      oprot.writeString(self.phone)\n      oprot.writeFieldEnd()\n    if self.email is not None:\n      oprot.writeFieldBegin('email', TType.STRING, 11)\n      oprot.writeString(self.email)\n      oprot.writeFieldEnd()\n    if self.regionCode is not None:\n      oprot.writeFieldBegin('regionCode', TType.STRING, 12)\n      oprot.writeString(self.regionCode)\n      oprot.writeFieldEnd()\n    if self.displayName is not None:\n      oprot.writeFieldBegin('displayName', TType.STRING, 20)\n      oprot.writeString(self.displayName)\n      oprot.writeFieldEnd()\n    if self.phoneticName is not None:\n      oprot.writeFieldBegin('phoneticName', TType.STRING, 21)\n      oprot.writeString(self.phoneticName)\n      oprot.writeFieldEnd()\n    if self.pictureStatus is not None:\n      oprot.writeFieldBegin('pictureStatus', TType.STRING, 22)\n      oprot.writeString(self.pictureStatus)\n      oprot.writeFieldEnd()\n    if self.thumbnailUrl is not None:\n      oprot.writeFieldBegin('thumbnailUrl', TType.STRING, 23)\n      oprot.writeString(self.thumbnailUrl)\n      oprot.writeFieldEnd()\n    if self.statusMessage is not None:\n      oprot.writeFieldBegin('statusMessage', TType.STRING, 24)\n      oprot.writeString(self.statusMessage)\n      oprot.writeFieldEnd()\n    if self.allowSearchByUserid is not None:\n      oprot.writeFieldBegin('allowSearchByUserid', TType.BOOL, 31)\n      oprot.writeBool(self.allowSearchByUserid)\n      oprot.writeFieldEnd()\n    if self.allowSearchByEmail is not None:\n      oprot.writeFieldBegin('allowSearchByEmail', TType.BOOL, 32)\n      oprot.writeBool(self.allowSearchByEmail)\n      oprot.writeFieldEnd()\n    if self.picturePath is not None:\n      oprot.writeFieldBegin('picturePath', TType.STRING, 33)\n      oprot.writeString(self.picturePath)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.userid)\n    value = (value * 31) ^ hash(self.phone)\n    value = (value * 31) ^ hash(self.email)\n    value = (value * 31) ^ hash(self.regionCode)\n    value = (value * 31) ^ hash(self.displayName)\n    value = (value * 31) ^ hash(self.phoneticName)\n    value = (value * 31) ^ hash(self.pictureStatus)\n    value = (value * 31) ^ hash(self.thumbnailUrl)\n    value = (value * 31) ^ hash(self.statusMessage)\n    value = (value * 31) ^ hash(self.allowSearchByUserid)\n    value = (value * 31) ^ hash(self.allowSearchByEmail)\n    value = (value * 31) ^ hash(self.picturePath)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass ProximityMatchCandidateResult:\n  \"\"\"\n  Attributes:\n   - users\n   - buddies\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'users', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 1\n    (2, TType.LIST, 'buddies', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 2\n  )\n\n  def __init__(self, users=None, buddies=None,):\n    self.users = users\n    self.buddies = buddies\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.users = []\n          (_etype236, _size233) = iprot.readListBegin()\n          for _i237 in xrange(_size233):\n            _elem238 = Contact()\n            _elem238.read(iprot)\n            self.users.append(_elem238)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.buddies = []\n          (_etype242, _size239) = iprot.readListBegin()\n          for _i243 in xrange(_size239):\n            _elem244 = Contact()\n            _elem244.read(iprot)\n            self.buddies.append(_elem244)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('ProximityMatchCandidateResult')\n    if self.users is not None:\n      oprot.writeFieldBegin('users', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.users))\n      for iter245 in self.users:\n        iter245.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.buddies is not None:\n      oprot.writeFieldBegin('buddies', TType.LIST, 2)\n      oprot.writeListBegin(TType.STRUCT, len(self.buddies))\n      for iter246 in self.buddies:\n        iter246.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.users)\n    value = (value * 31) ^ hash(self.buddies)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass RegisterWithSnsIdResult:\n  \"\"\"\n  Attributes:\n   - authToken\n   - userCreated\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'authToken', None, None, ), # 1\n    (2, TType.BOOL, 'userCreated', None, None, ), # 2\n  )\n\n  def __init__(self, authToken=None, userCreated=None,):\n    self.authToken = authToken\n    self.userCreated = userCreated\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.authToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.BOOL:\n          self.userCreated = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('RegisterWithSnsIdResult')\n    if self.authToken is not None:\n      oprot.writeFieldBegin('authToken', TType.STRING, 1)\n      oprot.writeString(self.authToken)\n      oprot.writeFieldEnd()\n    if self.userCreated is not None:\n      oprot.writeFieldBegin('userCreated', TType.BOOL, 2)\n      oprot.writeBool(self.userCreated)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.authToken)\n    value = (value * 31) ^ hash(self.userCreated)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass RequestTokenResponse:\n  \"\"\"\n  Attributes:\n   - requestToken\n   - returnUrl\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestToken', None, None, ), # 1\n    (2, TType.STRING, 'returnUrl', None, None, ), # 2\n  )\n\n  def __init__(self, requestToken=None, returnUrl=None,):\n    self.requestToken = requestToken\n    self.returnUrl = returnUrl\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestToken = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.returnUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('RequestTokenResponse')\n    if self.requestToken is not None:\n      oprot.writeFieldBegin('requestToken', TType.STRING, 1)\n      oprot.writeString(self.requestToken)\n      oprot.writeFieldEnd()\n    if self.returnUrl is not None:\n      oprot.writeFieldBegin('returnUrl', TType.STRING, 2)\n      oprot.writeString(self.returnUrl)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestToken)\n    value = (value * 31) ^ hash(self.returnUrl)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Room:\n  \"\"\"\n  Attributes:\n   - mid\n   - createdTime\n   - contacts\n   - notificationDisabled\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    (2, TType.I64, 'createdTime', None, None, ), # 2\n    None, # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.LIST, 'contacts', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 10\n    None, # 11\n    None, # 12\n    None, # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    None, # 20\n    None, # 21\n    None, # 22\n    None, # 23\n    None, # 24\n    None, # 25\n    None, # 26\n    None, # 27\n    None, # 28\n    None, # 29\n    None, # 30\n    (31, TType.BOOL, 'notificationDisabled', None, None, ), # 31\n  )\n\n  def __init__(self, mid=None, createdTime=None, contacts=None, notificationDisabled=None,):\n    self.mid = mid\n    self.createdTime = createdTime\n    self.contacts = contacts\n    self.notificationDisabled = notificationDisabled\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I64:\n          self.createdTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.LIST:\n          self.contacts = []\n          (_etype250, _size247) = iprot.readListBegin()\n          for _i251 in xrange(_size247):\n            _elem252 = Contact()\n            _elem252.read(iprot)\n            self.contacts.append(_elem252)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 31:\n        if ftype == TType.BOOL:\n          self.notificationDisabled = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Room')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.createdTime is not None:\n      oprot.writeFieldBegin('createdTime', TType.I64, 2)\n      oprot.writeI64(self.createdTime)\n      oprot.writeFieldEnd()\n    if self.contacts is not None:\n      oprot.writeFieldBegin('contacts', TType.LIST, 10)\n      oprot.writeListBegin(TType.STRUCT, len(self.contacts))\n      for iter253 in self.contacts:\n        iter253.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.notificationDisabled is not None:\n      oprot.writeFieldBegin('notificationDisabled', TType.BOOL, 31)\n      oprot.writeBool(self.notificationDisabled)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.createdTime)\n    value = (value * 31) ^ hash(self.contacts)\n    value = (value * 31) ^ hash(self.notificationDisabled)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass RSAKey:\n  \"\"\"\n  Attributes:\n   - keynm\n   - nvalue\n   - evalue\n   - sessionKey\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'keynm', None, None, ), # 1\n    (2, TType.STRING, 'nvalue', None, None, ), # 2\n    (3, TType.STRING, 'evalue', None, None, ), # 3\n    (4, TType.STRING, 'sessionKey', None, None, ), # 4\n  )\n\n  def __init__(self, keynm=None, nvalue=None, evalue=None, sessionKey=None,):\n    self.keynm = keynm\n    self.nvalue = nvalue\n    self.evalue = evalue\n    self.sessionKey = sessionKey\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.keynm = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.nvalue = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.evalue = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.sessionKey = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('RSAKey')\n    if self.keynm is not None:\n      oprot.writeFieldBegin('keynm', TType.STRING, 1)\n      oprot.writeString(self.keynm)\n      oprot.writeFieldEnd()\n    if self.nvalue is not None:\n      oprot.writeFieldBegin('nvalue', TType.STRING, 2)\n      oprot.writeString(self.nvalue)\n      oprot.writeFieldEnd()\n    if self.evalue is not None:\n      oprot.writeFieldBegin('evalue', TType.STRING, 3)\n      oprot.writeString(self.evalue)\n      oprot.writeFieldEnd()\n    if self.sessionKey is not None:\n      oprot.writeFieldBegin('sessionKey', TType.STRING, 4)\n      oprot.writeString(self.sessionKey)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.keynm)\n    value = (value * 31) ^ hash(self.nvalue)\n    value = (value * 31) ^ hash(self.evalue)\n    value = (value * 31) ^ hash(self.sessionKey)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SendBuddyMessageResult:\n  \"\"\"\n  Attributes:\n   - requestId\n   - state\n   - messageId\n   - eventNo\n   - receiverCount\n   - successCount\n   - failCount\n   - cancelCount\n   - blockCount\n   - unregisterCount\n   - timestamp\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.I32, 'state', None, None, ), # 2\n    (3, TType.STRING, 'messageId', None, None, ), # 3\n    (4, TType.I32, 'eventNo', None, None, ), # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    None, # 10\n    (11, TType.I64, 'receiverCount', None, None, ), # 11\n    (12, TType.I64, 'successCount', None, None, ), # 12\n    (13, TType.I64, 'failCount', None, None, ), # 13\n    (14, TType.I64, 'cancelCount', None, None, ), # 14\n    (15, TType.I64, 'blockCount', None, None, ), # 15\n    (16, TType.I64, 'unregisterCount', None, None, ), # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    None, # 20\n    (21, TType.I64, 'timestamp', None, None, ), # 21\n    (22, TType.STRING, 'message', None, None, ), # 22\n  )\n\n  def __init__(self, requestId=None, state=None, messageId=None, eventNo=None, receiverCount=None, successCount=None, failCount=None, cancelCount=None, blockCount=None, unregisterCount=None, timestamp=None, message=None,):\n    self.requestId = requestId\n    self.state = state\n    self.messageId = messageId\n    self.eventNo = eventNo\n    self.receiverCount = receiverCount\n    self.successCount = successCount\n    self.failCount = failCount\n    self.cancelCount = cancelCount\n    self.blockCount = blockCount\n    self.unregisterCount = unregisterCount\n    self.timestamp = timestamp\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.state = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.messageId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.I32:\n          self.eventNo = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.I64:\n          self.receiverCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.I64:\n          self.successCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 13:\n        if ftype == TType.I64:\n          self.failCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 14:\n        if ftype == TType.I64:\n          self.cancelCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 15:\n        if ftype == TType.I64:\n          self.blockCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 16:\n        if ftype == TType.I64:\n          self.unregisterCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 21:\n        if ftype == TType.I64:\n          self.timestamp = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 22:\n        if ftype == TType.STRING:\n          self.message = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SendBuddyMessageResult')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.state is not None:\n      oprot.writeFieldBegin('state', TType.I32, 2)\n      oprot.writeI32(self.state)\n      oprot.writeFieldEnd()\n    if self.messageId is not None:\n      oprot.writeFieldBegin('messageId', TType.STRING, 3)\n      oprot.writeString(self.messageId)\n      oprot.writeFieldEnd()\n    if self.eventNo is not None:\n      oprot.writeFieldBegin('eventNo', TType.I32, 4)\n      oprot.writeI32(self.eventNo)\n      oprot.writeFieldEnd()\n    if self.receiverCount is not None:\n      oprot.writeFieldBegin('receiverCount', TType.I64, 11)\n      oprot.writeI64(self.receiverCount)\n      oprot.writeFieldEnd()\n    if self.successCount is not None:\n      oprot.writeFieldBegin('successCount', TType.I64, 12)\n      oprot.writeI64(self.successCount)\n      oprot.writeFieldEnd()\n    if self.failCount is not None:\n      oprot.writeFieldBegin('failCount', TType.I64, 13)\n      oprot.writeI64(self.failCount)\n      oprot.writeFieldEnd()\n    if self.cancelCount is not None:\n      oprot.writeFieldBegin('cancelCount', TType.I64, 14)\n      oprot.writeI64(self.cancelCount)\n      oprot.writeFieldEnd()\n    if self.blockCount is not None:\n      oprot.writeFieldBegin('blockCount', TType.I64, 15)\n      oprot.writeI64(self.blockCount)\n      oprot.writeFieldEnd()\n    if self.unregisterCount is not None:\n      oprot.writeFieldBegin('unregisterCount', TType.I64, 16)\n      oprot.writeI64(self.unregisterCount)\n      oprot.writeFieldEnd()\n    if self.timestamp is not None:\n      oprot.writeFieldBegin('timestamp', TType.I64, 21)\n      oprot.writeI64(self.timestamp)\n      oprot.writeFieldEnd()\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRING, 22)\n      oprot.writeString(self.message)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.state)\n    value = (value * 31) ^ hash(self.messageId)\n    value = (value * 31) ^ hash(self.eventNo)\n    value = (value * 31) ^ hash(self.receiverCount)\n    value = (value * 31) ^ hash(self.successCount)\n    value = (value * 31) ^ hash(self.failCount)\n    value = (value * 31) ^ hash(self.cancelCount)\n    value = (value * 31) ^ hash(self.blockCount)\n    value = (value * 31) ^ hash(self.unregisterCount)\n    value = (value * 31) ^ hash(self.timestamp)\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SetBuddyOnAirResult:\n  \"\"\"\n  Attributes:\n   - requestId\n   - state\n   - eventNo\n   - receiverCount\n   - successCount\n   - failCount\n   - cancelCount\n   - unregisterCount\n   - timestamp\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.I32, 'state', None, None, ), # 2\n    (3, TType.I32, 'eventNo', None, None, ), # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    None, # 10\n    (11, TType.I64, 'receiverCount', None, None, ), # 11\n    (12, TType.I64, 'successCount', None, None, ), # 12\n    (13, TType.I64, 'failCount', None, None, ), # 13\n    (14, TType.I64, 'cancelCount', None, None, ), # 14\n    (15, TType.I64, 'unregisterCount', None, None, ), # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    None, # 20\n    (21, TType.I64, 'timestamp', None, None, ), # 21\n    (22, TType.STRING, 'message', None, None, ), # 22\n  )\n\n  def __init__(self, requestId=None, state=None, eventNo=None, receiverCount=None, successCount=None, failCount=None, cancelCount=None, unregisterCount=None, timestamp=None, message=None,):\n    self.requestId = requestId\n    self.state = state\n    self.eventNo = eventNo\n    self.receiverCount = receiverCount\n    self.successCount = successCount\n    self.failCount = failCount\n    self.cancelCount = cancelCount\n    self.unregisterCount = unregisterCount\n    self.timestamp = timestamp\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.state = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.eventNo = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.I64:\n          self.receiverCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.I64:\n          self.successCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 13:\n        if ftype == TType.I64:\n          self.failCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 14:\n        if ftype == TType.I64:\n          self.cancelCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 15:\n        if ftype == TType.I64:\n          self.unregisterCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 21:\n        if ftype == TType.I64:\n          self.timestamp = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 22:\n        if ftype == TType.STRING:\n          self.message = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SetBuddyOnAirResult')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.state is not None:\n      oprot.writeFieldBegin('state', TType.I32, 2)\n      oprot.writeI32(self.state)\n      oprot.writeFieldEnd()\n    if self.eventNo is not None:\n      oprot.writeFieldBegin('eventNo', TType.I32, 3)\n      oprot.writeI32(self.eventNo)\n      oprot.writeFieldEnd()\n    if self.receiverCount is not None:\n      oprot.writeFieldBegin('receiverCount', TType.I64, 11)\n      oprot.writeI64(self.receiverCount)\n      oprot.writeFieldEnd()\n    if self.successCount is not None:\n      oprot.writeFieldBegin('successCount', TType.I64, 12)\n      oprot.writeI64(self.successCount)\n      oprot.writeFieldEnd()\n    if self.failCount is not None:\n      oprot.writeFieldBegin('failCount', TType.I64, 13)\n      oprot.writeI64(self.failCount)\n      oprot.writeFieldEnd()\n    if self.cancelCount is not None:\n      oprot.writeFieldBegin('cancelCount', TType.I64, 14)\n      oprot.writeI64(self.cancelCount)\n      oprot.writeFieldEnd()\n    if self.unregisterCount is not None:\n      oprot.writeFieldBegin('unregisterCount', TType.I64, 15)\n      oprot.writeI64(self.unregisterCount)\n      oprot.writeFieldEnd()\n    if self.timestamp is not None:\n      oprot.writeFieldBegin('timestamp', TType.I64, 21)\n      oprot.writeI64(self.timestamp)\n      oprot.writeFieldEnd()\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRING, 22)\n      oprot.writeString(self.message)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.state)\n    value = (value * 31) ^ hash(self.eventNo)\n    value = (value * 31) ^ hash(self.receiverCount)\n    value = (value * 31) ^ hash(self.successCount)\n    value = (value * 31) ^ hash(self.failCount)\n    value = (value * 31) ^ hash(self.cancelCount)\n    value = (value * 31) ^ hash(self.unregisterCount)\n    value = (value * 31) ^ hash(self.timestamp)\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Settings:\n  \"\"\"\n  Attributes:\n   - notificationEnable\n   - notificationMuteExpiration\n   - notificationNewMessage\n   - notificationGroupInvitation\n   - notificationShowMessage\n   - notificationIncomingCall\n   - notificationSoundMessage\n   - notificationSoundGroup\n   - notificationDisabledWithSub\n   - privacySyncContacts\n   - privacySearchByPhoneNumber\n   - privacySearchByUserid\n   - privacySearchByEmail\n   - privacyAllowSecondaryDeviceLogin\n   - privacyProfileImagePostToMyhome\n   - privacyReceiveMessagesFromNotFriend\n   - contactMyTicket\n   - identityProvider\n   - identityIdentifier\n   - snsAccounts\n   - phoneRegistration\n   - emailConfirmationStatus\n   - preferenceLocale\n   - customModes\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    None, # 1\n    None, # 2\n    None, # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.BOOL, 'notificationEnable', None, None, ), # 10\n    (11, TType.I64, 'notificationMuteExpiration', None, None, ), # 11\n    (12, TType.BOOL, 'notificationNewMessage', None, None, ), # 12\n    (13, TType.BOOL, 'notificationGroupInvitation', None, None, ), # 13\n    (14, TType.BOOL, 'notificationShowMessage', None, None, ), # 14\n    (15, TType.BOOL, 'notificationIncomingCall', None, None, ), # 15\n    (16, TType.STRING, 'notificationSoundMessage', None, None, ), # 16\n    (17, TType.STRING, 'notificationSoundGroup', None, None, ), # 17\n    (18, TType.BOOL, 'notificationDisabledWithSub', None, None, ), # 18\n    None, # 19\n    (20, TType.BOOL, 'privacySyncContacts', None, None, ), # 20\n    (21, TType.BOOL, 'privacySearchByPhoneNumber', None, None, ), # 21\n    (22, TType.BOOL, 'privacySearchByUserid', None, None, ), # 22\n    (23, TType.BOOL, 'privacySearchByEmail', None, None, ), # 23\n    (24, TType.BOOL, 'privacyAllowSecondaryDeviceLogin', None, None, ), # 24\n    (25, TType.BOOL, 'privacyProfileImagePostToMyhome', None, None, ), # 25\n    (26, TType.BOOL, 'privacyReceiveMessagesFromNotFriend', None, None, ), # 26\n    None, # 27\n    None, # 28\n    None, # 29\n    (30, TType.STRING, 'contactMyTicket', None, None, ), # 30\n    None, # 31\n    None, # 32\n    None, # 33\n    None, # 34\n    None, # 35\n    None, # 36\n    None, # 37\n    None, # 38\n    None, # 39\n    (40, TType.I32, 'identityProvider', None, None, ), # 40\n    (41, TType.STRING, 'identityIdentifier', None, None, ), # 41\n    (42, TType.MAP, 'snsAccounts', (TType.I32,None,TType.STRING,None), None, ), # 42\n    (43, TType.BOOL, 'phoneRegistration', None, None, ), # 43\n    (44, TType.I32, 'emailConfirmationStatus', None, None, ), # 44\n    None, # 45\n    None, # 46\n    None, # 47\n    None, # 48\n    None, # 49\n    (50, TType.STRING, 'preferenceLocale', None, None, ), # 50\n    None, # 51\n    None, # 52\n    None, # 53\n    None, # 54\n    None, # 55\n    None, # 56\n    None, # 57\n    None, # 58\n    None, # 59\n    (60, TType.MAP, 'customModes', (TType.I32,None,TType.STRING,None), None, ), # 60\n  )\n\n  def __init__(self, notificationEnable=None, notificationMuteExpiration=None, notificationNewMessage=None, notificationGroupInvitation=None, notificationShowMessage=None, notificationIncomingCall=None, notificationSoundMessage=None, notificationSoundGroup=None, notificationDisabledWithSub=None, privacySyncContacts=None, privacySearchByPhoneNumber=None, privacySearchByUserid=None, privacySearchByEmail=None, privacyAllowSecondaryDeviceLogin=None, privacyProfileImagePostToMyhome=None, privacyReceiveMessagesFromNotFriend=None, contactMyTicket=None, identityProvider=None, identityIdentifier=None, snsAccounts=None, phoneRegistration=None, emailConfirmationStatus=None, preferenceLocale=None, customModes=None,):\n    self.notificationEnable = notificationEnable\n    self.notificationMuteExpiration = notificationMuteExpiration\n    self.notificationNewMessage = notificationNewMessage\n    self.notificationGroupInvitation = notificationGroupInvitation\n    self.notificationShowMessage = notificationShowMessage\n    self.notificationIncomingCall = notificationIncomingCall\n    self.notificationSoundMessage = notificationSoundMessage\n    self.notificationSoundGroup = notificationSoundGroup\n    self.notificationDisabledWithSub = notificationDisabledWithSub\n    self.privacySyncContacts = privacySyncContacts\n    self.privacySearchByPhoneNumber = privacySearchByPhoneNumber\n    self.privacySearchByUserid = privacySearchByUserid\n    self.privacySearchByEmail = privacySearchByEmail\n    self.privacyAllowSecondaryDeviceLogin = privacyAllowSecondaryDeviceLogin\n    self.privacyProfileImagePostToMyhome = privacyProfileImagePostToMyhome\n    self.privacyReceiveMessagesFromNotFriend = privacyReceiveMessagesFromNotFriend\n    self.contactMyTicket = contactMyTicket\n    self.identityProvider = identityProvider\n    self.identityIdentifier = identityIdentifier\n    self.snsAccounts = snsAccounts\n    self.phoneRegistration = phoneRegistration\n    self.emailConfirmationStatus = emailConfirmationStatus\n    self.preferenceLocale = preferenceLocale\n    self.customModes = customModes\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 10:\n        if ftype == TType.BOOL:\n          self.notificationEnable = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.I64:\n          self.notificationMuteExpiration = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.BOOL:\n          self.notificationNewMessage = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 13:\n        if ftype == TType.BOOL:\n          self.notificationGroupInvitation = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 14:\n        if ftype == TType.BOOL:\n          self.notificationShowMessage = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 15:\n        if ftype == TType.BOOL:\n          self.notificationIncomingCall = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 16:\n        if ftype == TType.STRING:\n          self.notificationSoundMessage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 17:\n        if ftype == TType.STRING:\n          self.notificationSoundGroup = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 18:\n        if ftype == TType.BOOL:\n          self.notificationDisabledWithSub = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 20:\n        if ftype == TType.BOOL:\n          self.privacySyncContacts = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 21:\n        if ftype == TType.BOOL:\n          self.privacySearchByPhoneNumber = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 22:\n        if ftype == TType.BOOL:\n          self.privacySearchByUserid = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 23:\n        if ftype == TType.BOOL:\n          self.privacySearchByEmail = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 24:\n        if ftype == TType.BOOL:\n          self.privacyAllowSecondaryDeviceLogin = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 25:\n        if ftype == TType.BOOL:\n          self.privacyProfileImagePostToMyhome = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 26:\n        if ftype == TType.BOOL:\n          self.privacyReceiveMessagesFromNotFriend = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 30:\n        if ftype == TType.STRING:\n          self.contactMyTicket = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 40:\n        if ftype == TType.I32:\n          self.identityProvider = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 41:\n        if ftype == TType.STRING:\n          self.identityIdentifier = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 42:\n        if ftype == TType.MAP:\n          self.snsAccounts = {}\n          (_ktype255, _vtype256, _size254 ) = iprot.readMapBegin()\n          for _i258 in xrange(_size254):\n            _key259 = iprot.readI32()\n            _val260 = iprot.readString()\n            self.snsAccounts[_key259] = _val260\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 43:\n        if ftype == TType.BOOL:\n          self.phoneRegistration = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 44:\n        if ftype == TType.I32:\n          self.emailConfirmationStatus = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 50:\n        if ftype == TType.STRING:\n          self.preferenceLocale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 60:\n        if ftype == TType.MAP:\n          self.customModes = {}\n          (_ktype262, _vtype263, _size261 ) = iprot.readMapBegin()\n          for _i265 in xrange(_size261):\n            _key266 = iprot.readI32()\n            _val267 = iprot.readString()\n            self.customModes[_key266] = _val267\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Settings')\n    if self.notificationEnable is not None:\n      oprot.writeFieldBegin('notificationEnable', TType.BOOL, 10)\n      oprot.writeBool(self.notificationEnable)\n      oprot.writeFieldEnd()\n    if self.notificationMuteExpiration is not None:\n      oprot.writeFieldBegin('notificationMuteExpiration', TType.I64, 11)\n      oprot.writeI64(self.notificationMuteExpiration)\n      oprot.writeFieldEnd()\n    if self.notificationNewMessage is not None:\n      oprot.writeFieldBegin('notificationNewMessage', TType.BOOL, 12)\n      oprot.writeBool(self.notificationNewMessage)\n      oprot.writeFieldEnd()\n    if self.notificationGroupInvitation is not None:\n      oprot.writeFieldBegin('notificationGroupInvitation', TType.BOOL, 13)\n      oprot.writeBool(self.notificationGroupInvitation)\n      oprot.writeFieldEnd()\n    if self.notificationShowMessage is not None:\n      oprot.writeFieldBegin('notificationShowMessage', TType.BOOL, 14)\n      oprot.writeBool(self.notificationShowMessage)\n      oprot.writeFieldEnd()\n    if self.notificationIncomingCall is not None:\n      oprot.writeFieldBegin('notificationIncomingCall', TType.BOOL, 15)\n      oprot.writeBool(self.notificationIncomingCall)\n      oprot.writeFieldEnd()\n    if self.notificationSoundMessage is not None:\n      oprot.writeFieldBegin('notificationSoundMessage', TType.STRING, 16)\n      oprot.writeString(self.notificationSoundMessage)\n      oprot.writeFieldEnd()\n    if self.notificationSoundGroup is not None:\n      oprot.writeFieldBegin('notificationSoundGroup', TType.STRING, 17)\n      oprot.writeString(self.notificationSoundGroup)\n      oprot.writeFieldEnd()\n    if self.notificationDisabledWithSub is not None:\n      oprot.writeFieldBegin('notificationDisabledWithSub', TType.BOOL, 18)\n      oprot.writeBool(self.notificationDisabledWithSub)\n      oprot.writeFieldEnd()\n    if self.privacySyncContacts is not None:\n      oprot.writeFieldBegin('privacySyncContacts', TType.BOOL, 20)\n      oprot.writeBool(self.privacySyncContacts)\n      oprot.writeFieldEnd()\n    if self.privacySearchByPhoneNumber is not None:\n      oprot.writeFieldBegin('privacySearchByPhoneNumber', TType.BOOL, 21)\n      oprot.writeBool(self.privacySearchByPhoneNumber)\n      oprot.writeFieldEnd()\n    if self.privacySearchByUserid is not None:\n      oprot.writeFieldBegin('privacySearchByUserid', TType.BOOL, 22)\n      oprot.writeBool(self.privacySearchByUserid)\n      oprot.writeFieldEnd()\n    if self.privacySearchByEmail is not None:\n      oprot.writeFieldBegin('privacySearchByEmail', TType.BOOL, 23)\n      oprot.writeBool(self.privacySearchByEmail)\n      oprot.writeFieldEnd()\n    if self.privacyAllowSecondaryDeviceLogin is not None:\n      oprot.writeFieldBegin('privacyAllowSecondaryDeviceLogin', TType.BOOL, 24)\n      oprot.writeBool(self.privacyAllowSecondaryDeviceLogin)\n      oprot.writeFieldEnd()\n    if self.privacyProfileImagePostToMyhome is not None:\n      oprot.writeFieldBegin('privacyProfileImagePostToMyhome', TType.BOOL, 25)\n      oprot.writeBool(self.privacyProfileImagePostToMyhome)\n      oprot.writeFieldEnd()\n    if self.privacyReceiveMessagesFromNotFriend is not None:\n      oprot.writeFieldBegin('privacyReceiveMessagesFromNotFriend', TType.BOOL, 26)\n      oprot.writeBool(self.privacyReceiveMessagesFromNotFriend)\n      oprot.writeFieldEnd()\n    if self.contactMyTicket is not None:\n      oprot.writeFieldBegin('contactMyTicket', TType.STRING, 30)\n      oprot.writeString(self.contactMyTicket)\n      oprot.writeFieldEnd()\n    if self.identityProvider is not None:\n      oprot.writeFieldBegin('identityProvider', TType.I32, 40)\n      oprot.writeI32(self.identityProvider)\n      oprot.writeFieldEnd()\n    if self.identityIdentifier is not None:\n      oprot.writeFieldBegin('identityIdentifier', TType.STRING, 41)\n      oprot.writeString(self.identityIdentifier)\n      oprot.writeFieldEnd()\n    if self.snsAccounts is not None:\n      oprot.writeFieldBegin('snsAccounts', TType.MAP, 42)\n      oprot.writeMapBegin(TType.I32, TType.STRING, len(self.snsAccounts))\n      for kiter268,viter269 in self.snsAccounts.items():\n        oprot.writeI32(kiter268)\n        oprot.writeString(viter269)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    if self.phoneRegistration is not None:\n      oprot.writeFieldBegin('phoneRegistration', TType.BOOL, 43)\n      oprot.writeBool(self.phoneRegistration)\n      oprot.writeFieldEnd()\n    if self.emailConfirmationStatus is not None:\n      oprot.writeFieldBegin('emailConfirmationStatus', TType.I32, 44)\n      oprot.writeI32(self.emailConfirmationStatus)\n      oprot.writeFieldEnd()\n    if self.preferenceLocale is not None:\n      oprot.writeFieldBegin('preferenceLocale', TType.STRING, 50)\n      oprot.writeString(self.preferenceLocale)\n      oprot.writeFieldEnd()\n    if self.customModes is not None:\n      oprot.writeFieldBegin('customModes', TType.MAP, 60)\n      oprot.writeMapBegin(TType.I32, TType.STRING, len(self.customModes))\n      for kiter270,viter271 in self.customModes.items():\n        oprot.writeI32(kiter270)\n        oprot.writeString(viter271)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.notificationEnable)\n    value = (value * 31) ^ hash(self.notificationMuteExpiration)\n    value = (value * 31) ^ hash(self.notificationNewMessage)\n    value = (value * 31) ^ hash(self.notificationGroupInvitation)\n    value = (value * 31) ^ hash(self.notificationShowMessage)\n    value = (value * 31) ^ hash(self.notificationIncomingCall)\n    value = (value * 31) ^ hash(self.notificationSoundMessage)\n    value = (value * 31) ^ hash(self.notificationSoundGroup)\n    value = (value * 31) ^ hash(self.notificationDisabledWithSub)\n    value = (value * 31) ^ hash(self.privacySyncContacts)\n    value = (value * 31) ^ hash(self.privacySearchByPhoneNumber)\n    value = (value * 31) ^ hash(self.privacySearchByUserid)\n    value = (value * 31) ^ hash(self.privacySearchByEmail)\n    value = (value * 31) ^ hash(self.privacyAllowSecondaryDeviceLogin)\n    value = (value * 31) ^ hash(self.privacyProfileImagePostToMyhome)\n    value = (value * 31) ^ hash(self.privacyReceiveMessagesFromNotFriend)\n    value = (value * 31) ^ hash(self.contactMyTicket)\n    value = (value * 31) ^ hash(self.identityProvider)\n    value = (value * 31) ^ hash(self.identityIdentifier)\n    value = (value * 31) ^ hash(self.snsAccounts)\n    value = (value * 31) ^ hash(self.phoneRegistration)\n    value = (value * 31) ^ hash(self.emailConfirmationStatus)\n    value = (value * 31) ^ hash(self.preferenceLocale)\n    value = (value * 31) ^ hash(self.customModes)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SimpleChannelClient:\n  \"\"\"\n  Attributes:\n   - applicationType\n   - applicationVersion\n   - locale\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'applicationType', None, None, ), # 1\n    (2, TType.STRING, 'applicationVersion', None, None, ), # 2\n    (3, TType.STRING, 'locale', None, None, ), # 3\n  )\n\n  def __init__(self, applicationType=None, applicationVersion=None, locale=None,):\n    self.applicationType = applicationType\n    self.applicationVersion = applicationVersion\n    self.locale = locale\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.applicationType = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.applicationVersion = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.locale = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SimpleChannelClient')\n    if self.applicationType is not None:\n      oprot.writeFieldBegin('applicationType', TType.STRING, 1)\n      oprot.writeString(self.applicationType)\n      oprot.writeFieldEnd()\n    if self.applicationVersion is not None:\n      oprot.writeFieldBegin('applicationVersion', TType.STRING, 2)\n      oprot.writeString(self.applicationVersion)\n      oprot.writeFieldEnd()\n    if self.locale is not None:\n      oprot.writeFieldBegin('locale', TType.STRING, 3)\n      oprot.writeString(self.locale)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.applicationType)\n    value = (value * 31) ^ hash(self.applicationVersion)\n    value = (value * 31) ^ hash(self.locale)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SimpleChannelContact:\n  \"\"\"\n  Attributes:\n   - mid\n   - displayName\n   - pictureStatus\n   - picturePath\n   - statusMessage\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'mid', None, None, ), # 1\n    (2, TType.STRING, 'displayName', None, None, ), # 2\n    (3, TType.STRING, 'pictureStatus', None, None, ), # 3\n    (4, TType.STRING, 'picturePath', None, None, ), # 4\n    (5, TType.STRING, 'statusMessage', None, None, ), # 5\n  )\n\n  def __init__(self, mid=None, displayName=None, pictureStatus=None, picturePath=None, statusMessage=None,):\n    self.mid = mid\n    self.displayName = displayName\n    self.pictureStatus = pictureStatus\n    self.picturePath = picturePath\n    self.statusMessage = statusMessage\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.mid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.displayName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.pictureStatus = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.picturePath = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.statusMessage = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SimpleChannelContact')\n    if self.mid is not None:\n      oprot.writeFieldBegin('mid', TType.STRING, 1)\n      oprot.writeString(self.mid)\n      oprot.writeFieldEnd()\n    if self.displayName is not None:\n      oprot.writeFieldBegin('displayName', TType.STRING, 2)\n      oprot.writeString(self.displayName)\n      oprot.writeFieldEnd()\n    if self.pictureStatus is not None:\n      oprot.writeFieldBegin('pictureStatus', TType.STRING, 3)\n      oprot.writeString(self.pictureStatus)\n      oprot.writeFieldEnd()\n    if self.picturePath is not None:\n      oprot.writeFieldBegin('picturePath', TType.STRING, 4)\n      oprot.writeString(self.picturePath)\n      oprot.writeFieldEnd()\n    if self.statusMessage is not None:\n      oprot.writeFieldBegin('statusMessage', TType.STRING, 5)\n      oprot.writeString(self.statusMessage)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.mid)\n    value = (value * 31) ^ hash(self.displayName)\n    value = (value * 31) ^ hash(self.pictureStatus)\n    value = (value * 31) ^ hash(self.picturePath)\n    value = (value * 31) ^ hash(self.statusMessage)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SnsFriend:\n  \"\"\"\n  Attributes:\n   - snsUserId\n   - snsUserName\n   - snsIdType\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'snsUserId', None, None, ), # 1\n    (2, TType.STRING, 'snsUserName', None, None, ), # 2\n    (3, TType.I32, 'snsIdType', None, None, ), # 3\n  )\n\n  def __init__(self, snsUserId=None, snsUserName=None, snsIdType=None,):\n    self.snsUserId = snsUserId\n    self.snsUserName = snsUserName\n    self.snsIdType = snsIdType\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.snsUserId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.snsUserName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SnsFriend')\n    if self.snsUserId is not None:\n      oprot.writeFieldBegin('snsUserId', TType.STRING, 1)\n      oprot.writeString(self.snsUserId)\n      oprot.writeFieldEnd()\n    if self.snsUserName is not None:\n      oprot.writeFieldBegin('snsUserName', TType.STRING, 2)\n      oprot.writeString(self.snsUserName)\n      oprot.writeFieldEnd()\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 3)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsUserId)\n    value = (value * 31) ^ hash(self.snsUserName)\n    value = (value * 31) ^ hash(self.snsIdType)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SnsFriendContactRegistration:\n  \"\"\"\n  Attributes:\n   - contact\n   - snsIdType\n   - snsUserId\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'contact', (Contact, Contact.thrift_spec), None, ), # 1\n    (2, TType.I32, 'snsIdType', None, None, ), # 2\n    (3, TType.STRING, 'snsUserId', None, None, ), # 3\n  )\n\n  def __init__(self, contact=None, snsIdType=None, snsUserId=None,):\n    self.contact = contact\n    self.snsIdType = snsIdType\n    self.snsUserId = snsUserId\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.contact = Contact()\n          self.contact.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.snsIdType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.snsUserId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SnsFriendContactRegistration')\n    if self.contact is not None:\n      oprot.writeFieldBegin('contact', TType.STRUCT, 1)\n      self.contact.write(oprot)\n      oprot.writeFieldEnd()\n    if self.snsIdType is not None:\n      oprot.writeFieldBegin('snsIdType', TType.I32, 2)\n      oprot.writeI32(self.snsIdType)\n      oprot.writeFieldEnd()\n    if self.snsUserId is not None:\n      oprot.writeFieldBegin('snsUserId', TType.STRING, 3)\n      oprot.writeString(self.snsUserId)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.contact)\n    value = (value * 31) ^ hash(self.snsIdType)\n    value = (value * 31) ^ hash(self.snsUserId)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SnsFriendModification:\n  \"\"\"\n  Attributes:\n   - type\n   - snsFriend\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'type', None, None, ), # 1\n    (2, TType.STRUCT, 'snsFriend', (SnsFriend, SnsFriend.thrift_spec), None, ), # 2\n  )\n\n  def __init__(self, type=None, snsFriend=None,):\n    self.type = type\n    self.snsFriend = snsFriend\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRUCT:\n          self.snsFriend = SnsFriend()\n          self.snsFriend.read(iprot)\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SnsFriendModification')\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 1)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    if self.snsFriend is not None:\n      oprot.writeFieldBegin('snsFriend', TType.STRUCT, 2)\n      self.snsFriend.write(oprot)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.snsFriend)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SnsFriends:\n  \"\"\"\n  Attributes:\n   - snsFriends\n   - hasMore\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'snsFriends', (TType.STRUCT,(SnsFriend, SnsFriend.thrift_spec)), None, ), # 1\n    (2, TType.BOOL, 'hasMore', None, None, ), # 2\n  )\n\n  def __init__(self, snsFriends=None, hasMore=None,):\n    self.snsFriends = snsFriends\n    self.hasMore = hasMore\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.snsFriends = []\n          (_etype275, _size272) = iprot.readListBegin()\n          for _i276 in xrange(_size272):\n            _elem277 = SnsFriend()\n            _elem277.read(iprot)\n            self.snsFriends.append(_elem277)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.BOOL:\n          self.hasMore = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SnsFriends')\n    if self.snsFriends is not None:\n      oprot.writeFieldBegin('snsFriends', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.snsFriends))\n      for iter278 in self.snsFriends:\n        iter278.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.hasMore is not None:\n      oprot.writeFieldBegin('hasMore', TType.BOOL, 2)\n      oprot.writeBool(self.hasMore)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsFriends)\n    value = (value * 31) ^ hash(self.hasMore)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SnsIdUserStatus:\n  \"\"\"\n  Attributes:\n   - userExisting\n   - phoneNumberRegistered\n   - sameDevice\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.BOOL, 'userExisting', None, None, ), # 1\n    (2, TType.BOOL, 'phoneNumberRegistered', None, None, ), # 2\n    (3, TType.BOOL, 'sameDevice', None, None, ), # 3\n  )\n\n  def __init__(self, userExisting=None, phoneNumberRegistered=None, sameDevice=None,):\n    self.userExisting = userExisting\n    self.phoneNumberRegistered = phoneNumberRegistered\n    self.sameDevice = sameDevice\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.BOOL:\n          self.userExisting = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.BOOL:\n          self.phoneNumberRegistered = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.BOOL:\n          self.sameDevice = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SnsIdUserStatus')\n    if self.userExisting is not None:\n      oprot.writeFieldBegin('userExisting', TType.BOOL, 1)\n      oprot.writeBool(self.userExisting)\n      oprot.writeFieldEnd()\n    if self.phoneNumberRegistered is not None:\n      oprot.writeFieldBegin('phoneNumberRegistered', TType.BOOL, 2)\n      oprot.writeBool(self.phoneNumberRegistered)\n      oprot.writeFieldEnd()\n    if self.sameDevice is not None:\n      oprot.writeFieldBegin('sameDevice', TType.BOOL, 3)\n      oprot.writeBool(self.sameDevice)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.userExisting)\n    value = (value * 31) ^ hash(self.phoneNumberRegistered)\n    value = (value * 31) ^ hash(self.sameDevice)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SnsProfile:\n  \"\"\"\n  Attributes:\n   - snsUserId\n   - snsUserName\n   - email\n   - thumbnailUrl\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'snsUserId', None, None, ), # 1\n    (2, TType.STRING, 'snsUserName', None, None, ), # 2\n    (3, TType.STRING, 'email', None, None, ), # 3\n    (4, TType.STRING, 'thumbnailUrl', None, None, ), # 4\n  )\n\n  def __init__(self, snsUserId=None, snsUserName=None, email=None, thumbnailUrl=None,):\n    self.snsUserId = snsUserId\n    self.snsUserName = snsUserName\n    self.email = email\n    self.thumbnailUrl = thumbnailUrl\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.snsUserId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.snsUserName = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.email = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.thumbnailUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SnsProfile')\n    if self.snsUserId is not None:\n      oprot.writeFieldBegin('snsUserId', TType.STRING, 1)\n      oprot.writeString(self.snsUserId)\n      oprot.writeFieldEnd()\n    if self.snsUserName is not None:\n      oprot.writeFieldBegin('snsUserName', TType.STRING, 2)\n      oprot.writeString(self.snsUserName)\n      oprot.writeFieldEnd()\n    if self.email is not None:\n      oprot.writeFieldBegin('email', TType.STRING, 3)\n      oprot.writeString(self.email)\n      oprot.writeFieldEnd()\n    if self.thumbnailUrl is not None:\n      oprot.writeFieldBegin('thumbnailUrl', TType.STRING, 4)\n      oprot.writeString(self.thumbnailUrl)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.snsUserId)\n    value = (value * 31) ^ hash(self.snsUserName)\n    value = (value * 31) ^ hash(self.email)\n    value = (value * 31) ^ hash(self.thumbnailUrl)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass SystemConfiguration:\n  \"\"\"\n  Attributes:\n   - endpoint\n   - endpointSsl\n   - updateUrl\n   - c2dmAccount\n   - nniServer\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'endpoint', None, None, ), # 1\n    (2, TType.STRING, 'endpointSsl', None, None, ), # 2\n    (3, TType.STRING, 'updateUrl', None, None, ), # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    None, # 10\n    (11, TType.STRING, 'c2dmAccount', None, None, ), # 11\n    (12, TType.STRING, 'nniServer', None, None, ), # 12\n  )\n\n  def __init__(self, endpoint=None, endpointSsl=None, updateUrl=None, c2dmAccount=None, nniServer=None,):\n    self.endpoint = endpoint\n    self.endpointSsl = endpointSsl\n    self.updateUrl = updateUrl\n    self.c2dmAccount = c2dmAccount\n    self.nniServer = nniServer\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.endpoint = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.endpointSsl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.updateUrl = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.c2dmAccount = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.nniServer = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('SystemConfiguration')\n    if self.endpoint is not None:\n      oprot.writeFieldBegin('endpoint', TType.STRING, 1)\n      oprot.writeString(self.endpoint)\n      oprot.writeFieldEnd()\n    if self.endpointSsl is not None:\n      oprot.writeFieldBegin('endpointSsl', TType.STRING, 2)\n      oprot.writeString(self.endpointSsl)\n      oprot.writeFieldEnd()\n    if self.updateUrl is not None:\n      oprot.writeFieldBegin('updateUrl', TType.STRING, 3)\n      oprot.writeString(self.updateUrl)\n      oprot.writeFieldEnd()\n    if self.c2dmAccount is not None:\n      oprot.writeFieldBegin('c2dmAccount', TType.STRING, 11)\n      oprot.writeString(self.c2dmAccount)\n      oprot.writeFieldEnd()\n    if self.nniServer is not None:\n      oprot.writeFieldBegin('nniServer', TType.STRING, 12)\n      oprot.writeString(self.nniServer)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.endpoint)\n    value = (value * 31) ^ hash(self.endpointSsl)\n    value = (value * 31) ^ hash(self.updateUrl)\n    value = (value * 31) ^ hash(self.c2dmAccount)\n    value = (value * 31) ^ hash(self.nniServer)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass TalkException(TException):\n  \"\"\"\n  Attributes:\n   - code\n   - reason\n   - parameterMap\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'code', None, None, ), # 1\n    (2, TType.STRING, 'reason', None, None, ), # 2\n    (3, TType.MAP, 'parameterMap', (TType.STRING,None,TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, code=None, reason=None, parameterMap=None,):\n    self.code = code\n    self.reason = reason\n    self.parameterMap = parameterMap\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.code = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.reason = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.MAP:\n          self.parameterMap = {}\n          (_ktype280, _vtype281, _size279 ) = iprot.readMapBegin()\n          for _i283 in xrange(_size279):\n            _key284 = iprot.readString()\n            _val285 = iprot.readString()\n            self.parameterMap[_key284] = _val285\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('TalkException')\n    if self.code is not None:\n      oprot.writeFieldBegin('code', TType.I32, 1)\n      oprot.writeI32(self.code)\n      oprot.writeFieldEnd()\n    if self.reason is not None:\n      oprot.writeFieldBegin('reason', TType.STRING, 2)\n      oprot.writeString(self.reason)\n      oprot.writeFieldEnd()\n    if self.parameterMap is not None:\n      oprot.writeFieldBegin('parameterMap', TType.MAP, 3)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.parameterMap))\n      for kiter286,viter287 in self.parameterMap.items():\n        oprot.writeString(kiter286)\n        oprot.writeString(viter287)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __str__(self):\n    return repr(self)\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.code)\n    value = (value * 31) ^ hash(self.reason)\n    value = (value * 31) ^ hash(self.parameterMap)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass Ticket:\n  \"\"\"\n  Attributes:\n   - id\n   - expirationTime\n   - maxUseCount\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'id', None, None, ), # 1\n    None, # 2\n    None, # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.I64, 'expirationTime', None, None, ), # 10\n    None, # 11\n    None, # 12\n    None, # 13\n    None, # 14\n    None, # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    None, # 20\n    (21, TType.I32, 'maxUseCount', None, None, ), # 21\n  )\n\n  def __init__(self, id=None, expirationTime=None, maxUseCount=None,):\n    self.id = id\n    self.expirationTime = expirationTime\n    self.maxUseCount = maxUseCount\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.I64:\n          self.expirationTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 21:\n        if ftype == TType.I32:\n          self.maxUseCount = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('Ticket')\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 1)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    if self.expirationTime is not None:\n      oprot.writeFieldBegin('expirationTime', TType.I64, 10)\n      oprot.writeI64(self.expirationTime)\n      oprot.writeFieldEnd()\n    if self.maxUseCount is not None:\n      oprot.writeFieldBegin('maxUseCount', TType.I32, 21)\n      oprot.writeI32(self.maxUseCount)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.id)\n    value = (value * 31) ^ hash(self.expirationTime)\n    value = (value * 31) ^ hash(self.maxUseCount)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass TMessageBox:\n  \"\"\"\n  Attributes:\n   - id\n   - channelId\n   - lastSeq\n   - unreadCount\n   - lastModifiedTime\n   - status\n   - midType\n   - lastMessages\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'id', None, None, ), # 1\n    (2, TType.STRING, 'channelId', None, None, ), # 2\n    None, # 3\n    None, # 4\n    (5, TType.I64, 'lastSeq', None, None, ), # 5\n    (6, TType.I64, 'unreadCount', None, None, ), # 6\n    (7, TType.I64, 'lastModifiedTime', None, None, ), # 7\n    (8, TType.I32, 'status', None, None, ), # 8\n    (9, TType.I32, 'midType', None, None, ), # 9\n    (10, TType.LIST, 'lastMessages', (TType.STRUCT,(Message, Message.thrift_spec)), None, ), # 10\n  )\n\n  def __init__(self, id=None, channelId=None, lastSeq=None, unreadCount=None, lastModifiedTime=None, status=None, midType=None, lastMessages=None,):\n    self.id = id\n    self.channelId = channelId\n    self.lastSeq = lastSeq\n    self.unreadCount = unreadCount\n    self.lastModifiedTime = lastModifiedTime\n    self.status = status\n    self.midType = midType\n    self.lastMessages = lastMessages\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.id = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.channelId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.I64:\n          self.lastSeq = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.I64:\n          self.unreadCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.I64:\n          self.lastModifiedTime = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 8:\n        if ftype == TType.I32:\n          self.status = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 9:\n        if ftype == TType.I32:\n          self.midType = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.LIST:\n          self.lastMessages = []\n          (_etype291, _size288) = iprot.readListBegin()\n          for _i292 in xrange(_size288):\n            _elem293 = Message()\n            _elem293.read(iprot)\n            self.lastMessages.append(_elem293)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('TMessageBox')\n    if self.id is not None:\n      oprot.writeFieldBegin('id', TType.STRING, 1)\n      oprot.writeString(self.id)\n      oprot.writeFieldEnd()\n    if self.channelId is not None:\n      oprot.writeFieldBegin('channelId', TType.STRING, 2)\n      oprot.writeString(self.channelId)\n      oprot.writeFieldEnd()\n    if self.lastSeq is not None:\n      oprot.writeFieldBegin('lastSeq', TType.I64, 5)\n      oprot.writeI64(self.lastSeq)\n      oprot.writeFieldEnd()\n    if self.unreadCount is not None:\n      oprot.writeFieldBegin('unreadCount', TType.I64, 6)\n      oprot.writeI64(self.unreadCount)\n      oprot.writeFieldEnd()\n    if self.lastModifiedTime is not None:\n      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 7)\n      oprot.writeI64(self.lastModifiedTime)\n      oprot.writeFieldEnd()\n    if self.status is not None:\n      oprot.writeFieldBegin('status', TType.I32, 8)\n      oprot.writeI32(self.status)\n      oprot.writeFieldEnd()\n    if self.midType is not None:\n      oprot.writeFieldBegin('midType', TType.I32, 9)\n      oprot.writeI32(self.midType)\n      oprot.writeFieldEnd()\n    if self.lastMessages is not None:\n      oprot.writeFieldBegin('lastMessages', TType.LIST, 10)\n      oprot.writeListBegin(TType.STRUCT, len(self.lastMessages))\n      for iter294 in self.lastMessages:\n        iter294.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.id)\n    value = (value * 31) ^ hash(self.channelId)\n    value = (value * 31) ^ hash(self.lastSeq)\n    value = (value * 31) ^ hash(self.unreadCount)\n    value = (value * 31) ^ hash(self.lastModifiedTime)\n    value = (value * 31) ^ hash(self.status)\n    value = (value * 31) ^ hash(self.midType)\n    value = (value * 31) ^ hash(self.lastMessages)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass TMessageBoxWrapUp:\n  \"\"\"\n  Attributes:\n   - messageBox\n   - name\n   - contacts\n   - pictureRevision\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRUCT, 'messageBox', (TMessageBox, TMessageBox.thrift_spec), None, ), # 1\n    (2, TType.STRING, 'name', None, None, ), # 2\n    (3, TType.LIST, 'contacts', (TType.STRUCT,(Contact, Contact.thrift_spec)), None, ), # 3\n    (4, TType.STRING, 'pictureRevision', None, None, ), # 4\n  )\n\n  def __init__(self, messageBox=None, name=None, contacts=None, pictureRevision=None,):\n    self.messageBox = messageBox\n    self.name = name\n    self.contacts = contacts\n    self.pictureRevision = pictureRevision\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRUCT:\n          self.messageBox = TMessageBox()\n          self.messageBox.read(iprot)\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.name = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.LIST:\n          self.contacts = []\n          (_etype298, _size295) = iprot.readListBegin()\n          for _i299 in xrange(_size295):\n            _elem300 = Contact()\n            _elem300.read(iprot)\n            self.contacts.append(_elem300)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.pictureRevision = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('TMessageBoxWrapUp')\n    if self.messageBox is not None:\n      oprot.writeFieldBegin('messageBox', TType.STRUCT, 1)\n      self.messageBox.write(oprot)\n      oprot.writeFieldEnd()\n    if self.name is not None:\n      oprot.writeFieldBegin('name', TType.STRING, 2)\n      oprot.writeString(self.name)\n      oprot.writeFieldEnd()\n    if self.contacts is not None:\n      oprot.writeFieldBegin('contacts', TType.LIST, 3)\n      oprot.writeListBegin(TType.STRUCT, len(self.contacts))\n      for iter301 in self.contacts:\n        iter301.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.pictureRevision is not None:\n      oprot.writeFieldBegin('pictureRevision', TType.STRING, 4)\n      oprot.writeString(self.pictureRevision)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.messageBox)\n    value = (value * 31) ^ hash(self.name)\n    value = (value * 31) ^ hash(self.contacts)\n    value = (value * 31) ^ hash(self.pictureRevision)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass TMessageBoxWrapUpResponse:\n  \"\"\"\n  Attributes:\n   - messageBoxWrapUpList\n   - totalSize\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.LIST, 'messageBoxWrapUpList', (TType.STRUCT,(TMessageBoxWrapUp, TMessageBoxWrapUp.thrift_spec)), None, ), # 1\n    (2, TType.I32, 'totalSize', None, None, ), # 2\n  )\n\n  def __init__(self, messageBoxWrapUpList=None, totalSize=None,):\n    self.messageBoxWrapUpList = messageBoxWrapUpList\n    self.totalSize = totalSize\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.LIST:\n          self.messageBoxWrapUpList = []\n          (_etype305, _size302) = iprot.readListBegin()\n          for _i306 in xrange(_size302):\n            _elem307 = TMessageBoxWrapUp()\n            _elem307.read(iprot)\n            self.messageBoxWrapUpList.append(_elem307)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.totalSize = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('TMessageBoxWrapUpResponse')\n    if self.messageBoxWrapUpList is not None:\n      oprot.writeFieldBegin('messageBoxWrapUpList', TType.LIST, 1)\n      oprot.writeListBegin(TType.STRUCT, len(self.messageBoxWrapUpList))\n      for iter308 in self.messageBoxWrapUpList:\n        iter308.write(oprot)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    if self.totalSize is not None:\n      oprot.writeFieldBegin('totalSize', TType.I32, 2)\n      oprot.writeI32(self.totalSize)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.messageBoxWrapUpList)\n    value = (value * 31) ^ hash(self.totalSize)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass UniversalNotificationServiceException(TException):\n  \"\"\"\n  Attributes:\n   - code\n   - reason\n   - parameterMap\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'code', None, None, ), # 1\n    (2, TType.STRING, 'reason', None, None, ), # 2\n    (3, TType.MAP, 'parameterMap', (TType.STRING,None,TType.STRING,None), None, ), # 3\n  )\n\n  def __init__(self, code=None, reason=None, parameterMap=None,):\n    self.code = code\n    self.reason = reason\n    self.parameterMap = parameterMap\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.code = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.STRING:\n          self.reason = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.MAP:\n          self.parameterMap = {}\n          (_ktype310, _vtype311, _size309 ) = iprot.readMapBegin()\n          for _i313 in xrange(_size309):\n            _key314 = iprot.readString()\n            _val315 = iprot.readString()\n            self.parameterMap[_key314] = _val315\n          iprot.readMapEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('UniversalNotificationServiceException')\n    if self.code is not None:\n      oprot.writeFieldBegin('code', TType.I32, 1)\n      oprot.writeI32(self.code)\n      oprot.writeFieldEnd()\n    if self.reason is not None:\n      oprot.writeFieldBegin('reason', TType.STRING, 2)\n      oprot.writeString(self.reason)\n      oprot.writeFieldEnd()\n    if self.parameterMap is not None:\n      oprot.writeFieldBegin('parameterMap', TType.MAP, 3)\n      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.parameterMap))\n      for kiter316,viter317 in self.parameterMap.items():\n        oprot.writeString(kiter316)\n        oprot.writeString(viter317)\n      oprot.writeMapEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __str__(self):\n    return repr(self)\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.code)\n    value = (value * 31) ^ hash(self.reason)\n    value = (value * 31) ^ hash(self.parameterMap)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass UpdateBuddyProfileResult:\n  \"\"\"\n  Attributes:\n   - requestId\n   - state\n   - eventNo\n   - receiverCount\n   - successCount\n   - failCount\n   - cancelCount\n   - unregisterCount\n   - timestamp\n   - message\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'requestId', None, None, ), # 1\n    (2, TType.I32, 'state', None, None, ), # 2\n    (3, TType.I32, 'eventNo', None, None, ), # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    None, # 10\n    (11, TType.I64, 'receiverCount', None, None, ), # 11\n    (12, TType.I64, 'successCount', None, None, ), # 12\n    (13, TType.I64, 'failCount', None, None, ), # 13\n    (14, TType.I64, 'cancelCount', None, None, ), # 14\n    (15, TType.I64, 'unregisterCount', None, None, ), # 15\n    None, # 16\n    None, # 17\n    None, # 18\n    None, # 19\n    None, # 20\n    (21, TType.I64, 'timestamp', None, None, ), # 21\n    (22, TType.STRING, 'message', None, None, ), # 22\n  )\n\n  def __init__(self, requestId=None, state=None, eventNo=None, receiverCount=None, successCount=None, failCount=None, cancelCount=None, unregisterCount=None, timestamp=None, message=None,):\n    self.requestId = requestId\n    self.state = state\n    self.eventNo = eventNo\n    self.receiverCount = receiverCount\n    self.successCount = successCount\n    self.failCount = failCount\n    self.cancelCount = cancelCount\n    self.unregisterCount = unregisterCount\n    self.timestamp = timestamp\n    self.message = message\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.requestId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.state = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.I32:\n          self.eventNo = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.I64:\n          self.receiverCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.I64:\n          self.successCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 13:\n        if ftype == TType.I64:\n          self.failCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 14:\n        if ftype == TType.I64:\n          self.cancelCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 15:\n        if ftype == TType.I64:\n          self.unregisterCount = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 21:\n        if ftype == TType.I64:\n          self.timestamp = iprot.readI64()\n        else:\n          iprot.skip(ftype)\n      elif fid == 22:\n        if ftype == TType.STRING:\n          self.message = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('UpdateBuddyProfileResult')\n    if self.requestId is not None:\n      oprot.writeFieldBegin('requestId', TType.STRING, 1)\n      oprot.writeString(self.requestId)\n      oprot.writeFieldEnd()\n    if self.state is not None:\n      oprot.writeFieldBegin('state', TType.I32, 2)\n      oprot.writeI32(self.state)\n      oprot.writeFieldEnd()\n    if self.eventNo is not None:\n      oprot.writeFieldBegin('eventNo', TType.I32, 3)\n      oprot.writeI32(self.eventNo)\n      oprot.writeFieldEnd()\n    if self.receiverCount is not None:\n      oprot.writeFieldBegin('receiverCount', TType.I64, 11)\n      oprot.writeI64(self.receiverCount)\n      oprot.writeFieldEnd()\n    if self.successCount is not None:\n      oprot.writeFieldBegin('successCount', TType.I64, 12)\n      oprot.writeI64(self.successCount)\n      oprot.writeFieldEnd()\n    if self.failCount is not None:\n      oprot.writeFieldBegin('failCount', TType.I64, 13)\n      oprot.writeI64(self.failCount)\n      oprot.writeFieldEnd()\n    if self.cancelCount is not None:\n      oprot.writeFieldBegin('cancelCount', TType.I64, 14)\n      oprot.writeI64(self.cancelCount)\n      oprot.writeFieldEnd()\n    if self.unregisterCount is not None:\n      oprot.writeFieldBegin('unregisterCount', TType.I64, 15)\n      oprot.writeI64(self.unregisterCount)\n      oprot.writeFieldEnd()\n    if self.timestamp is not None:\n      oprot.writeFieldBegin('timestamp', TType.I64, 21)\n      oprot.writeI64(self.timestamp)\n      oprot.writeFieldEnd()\n    if self.message is not None:\n      oprot.writeFieldBegin('message', TType.STRING, 22)\n      oprot.writeString(self.message)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.requestId)\n    value = (value * 31) ^ hash(self.state)\n    value = (value * 31) ^ hash(self.eventNo)\n    value = (value * 31) ^ hash(self.receiverCount)\n    value = (value * 31) ^ hash(self.successCount)\n    value = (value * 31) ^ hash(self.failCount)\n    value = (value * 31) ^ hash(self.cancelCount)\n    value = (value * 31) ^ hash(self.unregisterCount)\n    value = (value * 31) ^ hash(self.timestamp)\n    value = (value * 31) ^ hash(self.message)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass UserAuthStatus:\n  \"\"\"\n  Attributes:\n   - phoneNumberRegistered\n   - registeredSnsIdTypes\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.BOOL, 'phoneNumberRegistered', None, None, ), # 1\n    (2, TType.LIST, 'registeredSnsIdTypes', (TType.I32,None), None, ), # 2\n  )\n\n  def __init__(self, phoneNumberRegistered=None, registeredSnsIdTypes=None,):\n    self.phoneNumberRegistered = phoneNumberRegistered\n    self.registeredSnsIdTypes = registeredSnsIdTypes\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.BOOL:\n          self.phoneNumberRegistered = iprot.readBool()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.LIST:\n          self.registeredSnsIdTypes = []\n          (_etype321, _size318) = iprot.readListBegin()\n          for _i322 in xrange(_size318):\n            _elem323 = iprot.readI32()\n            self.registeredSnsIdTypes.append(_elem323)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('UserAuthStatus')\n    if self.phoneNumberRegistered is not None:\n      oprot.writeFieldBegin('phoneNumberRegistered', TType.BOOL, 1)\n      oprot.writeBool(self.phoneNumberRegistered)\n      oprot.writeFieldEnd()\n    if self.registeredSnsIdTypes is not None:\n      oprot.writeFieldBegin('registeredSnsIdTypes', TType.LIST, 2)\n      oprot.writeListBegin(TType.I32, len(self.registeredSnsIdTypes))\n      for iter324 in self.registeredSnsIdTypes:\n        oprot.writeI32(iter324)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.phoneNumberRegistered)\n    value = (value * 31) ^ hash(self.registeredSnsIdTypes)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass VerificationSessionData:\n  \"\"\"\n  Attributes:\n   - sessionId\n   - method\n   - callback\n   - normalizedPhone\n   - countryCode\n   - nationalSignificantNumber\n   - availableVerificationMethods\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.STRING, 'sessionId', None, None, ), # 1\n    (2, TType.I32, 'method', None, None, ), # 2\n    (3, TType.STRING, 'callback', None, None, ), # 3\n    (4, TType.STRING, 'normalizedPhone', None, None, ), # 4\n    (5, TType.STRING, 'countryCode', None, None, ), # 5\n    (6, TType.STRING, 'nationalSignificantNumber', None, None, ), # 6\n    (7, TType.LIST, 'availableVerificationMethods', (TType.I32,None), None, ), # 7\n  )\n\n  def __init__(self, sessionId=None, method=None, callback=None, normalizedPhone=None, countryCode=None, nationalSignificantNumber=None, availableVerificationMethods=None,):\n    self.sessionId = sessionId\n    self.method = method\n    self.callback = callback\n    self.normalizedPhone = normalizedPhone\n    self.countryCode = countryCode\n    self.nationalSignificantNumber = nationalSignificantNumber\n    self.availableVerificationMethods = availableVerificationMethods\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.STRING:\n          self.sessionId = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 2:\n        if ftype == TType.I32:\n          self.method = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 3:\n        if ftype == TType.STRING:\n          self.callback = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 4:\n        if ftype == TType.STRING:\n          self.normalizedPhone = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 5:\n        if ftype == TType.STRING:\n          self.countryCode = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 6:\n        if ftype == TType.STRING:\n          self.nationalSignificantNumber = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 7:\n        if ftype == TType.LIST:\n          self.availableVerificationMethods = []\n          (_etype328, _size325) = iprot.readListBegin()\n          for _i329 in xrange(_size325):\n            _elem330 = iprot.readI32()\n            self.availableVerificationMethods.append(_elem330)\n          iprot.readListEnd()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('VerificationSessionData')\n    if self.sessionId is not None:\n      oprot.writeFieldBegin('sessionId', TType.STRING, 1)\n      oprot.writeString(self.sessionId)\n      oprot.writeFieldEnd()\n    if self.method is not None:\n      oprot.writeFieldBegin('method', TType.I32, 2)\n      oprot.writeI32(self.method)\n      oprot.writeFieldEnd()\n    if self.callback is not None:\n      oprot.writeFieldBegin('callback', TType.STRING, 3)\n      oprot.writeString(self.callback)\n      oprot.writeFieldEnd()\n    if self.normalizedPhone is not None:\n      oprot.writeFieldBegin('normalizedPhone', TType.STRING, 4)\n      oprot.writeString(self.normalizedPhone)\n      oprot.writeFieldEnd()\n    if self.countryCode is not None:\n      oprot.writeFieldBegin('countryCode', TType.STRING, 5)\n      oprot.writeString(self.countryCode)\n      oprot.writeFieldEnd()\n    if self.nationalSignificantNumber is not None:\n      oprot.writeFieldBegin('nationalSignificantNumber', TType.STRING, 6)\n      oprot.writeString(self.nationalSignificantNumber)\n      oprot.writeFieldEnd()\n    if self.availableVerificationMethods is not None:\n      oprot.writeFieldBegin('availableVerificationMethods', TType.LIST, 7)\n      oprot.writeListBegin(TType.I32, len(self.availableVerificationMethods))\n      for iter331 in self.availableVerificationMethods:\n        oprot.writeI32(iter331)\n      oprot.writeListEnd()\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.sessionId)\n    value = (value * 31) ^ hash(self.method)\n    value = (value * 31) ^ hash(self.callback)\n    value = (value * 31) ^ hash(self.normalizedPhone)\n    value = (value * 31) ^ hash(self.countryCode)\n    value = (value * 31) ^ hash(self.nationalSignificantNumber)\n    value = (value * 31) ^ hash(self.availableVerificationMethods)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n\nclass WapInvitation:\n  \"\"\"\n  Attributes:\n   - type\n   - inviteeEmail\n   - inviterMid\n   - roomMid\n  \"\"\"\n\n  thrift_spec = (\n    None, # 0\n    (1, TType.I32, 'type', None, None, ), # 1\n    None, # 2\n    None, # 3\n    None, # 4\n    None, # 5\n    None, # 6\n    None, # 7\n    None, # 8\n    None, # 9\n    (10, TType.STRING, 'inviteeEmail', None, None, ), # 10\n    (11, TType.STRING, 'inviterMid', None, None, ), # 11\n    (12, TType.STRING, 'roomMid', None, None, ), # 12\n  )\n\n  def __init__(self, type=None, inviteeEmail=None, inviterMid=None, roomMid=None,):\n    self.type = type\n    self.inviteeEmail = inviteeEmail\n    self.inviterMid = inviterMid\n    self.roomMid = roomMid\n\n  def read(self, iprot):\n    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:\n      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))\n      return\n    iprot.readStructBegin()\n    while True:\n      (fname, ftype, fid) = iprot.readFieldBegin()\n      if ftype == TType.STOP:\n        break\n      if fid == 1:\n        if ftype == TType.I32:\n          self.type = iprot.readI32()\n        else:\n          iprot.skip(ftype)\n      elif fid == 10:\n        if ftype == TType.STRING:\n          self.inviteeEmail = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 11:\n        if ftype == TType.STRING:\n          self.inviterMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      elif fid == 12:\n        if ftype == TType.STRING:\n          self.roomMid = iprot.readString()\n        else:\n          iprot.skip(ftype)\n      else:\n        iprot.skip(ftype)\n      iprot.readFieldEnd()\n    iprot.readStructEnd()\n\n  def write(self, oprot):\n    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:\n      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))\n      return\n    oprot.writeStructBegin('WapInvitation')\n    if self.type is not None:\n      oprot.writeFieldBegin('type', TType.I32, 1)\n      oprot.writeI32(self.type)\n      oprot.writeFieldEnd()\n    if self.inviteeEmail is not None:\n      oprot.writeFieldBegin('inviteeEmail', TType.STRING, 10)\n      oprot.writeString(self.inviteeEmail)\n      oprot.writeFieldEnd()\n    if self.inviterMid is not None:\n      oprot.writeFieldBegin('inviterMid', TType.STRING, 11)\n      oprot.writeString(self.inviterMid)\n      oprot.writeFieldEnd()\n    if self.roomMid is not None:\n      oprot.writeFieldBegin('roomMid', TType.STRING, 12)\n      oprot.writeString(self.roomMid)\n      oprot.writeFieldEnd()\n    oprot.writeFieldStop()\n    oprot.writeStructEnd()\n\n  def validate(self):\n    return\n\n\n  def __hash__(self):\n    value = 17\n    value = (value * 31) ^ hash(self.type)\n    value = (value * 31) ^ hash(self.inviteeEmail)\n    value = (value * 31) ^ hash(self.inviterMid)\n    value = (value * 31) ^ hash(self.roomMid)\n    return value\n\n  def __repr__(self):\n    L = ['%s=%r' % (key, value)\n      for key, value in self.__dict__.iteritems()]\n    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))\n\n  def __eq__(self, other):\n    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__\n\n  def __ne__(self, other):\n    return not (self == other)\n"
  },
  {
    "path": "README.md",
    "content": "# LINE TCR\nForked from LINEALPHA [MerkKremont]\n\nfixing some error and delete unusable code \n\n## Require to install\n```\npip install rsa\npip install request\npip install thrift==0.9.3\n```\n"
  },
  {
    "path": "tcr.py",
    "content": "# -*- coding: utf-8 -*-\n\nimport LINETCR\nfrom LINETCR.lib.curve.ttypes import *\nfrom datetime import datetime\nimport time,random,sys,json,codecs,threading,glob,re\n\ncl = LINETCR.LINE()\ncl.login(qr=True)\ncl.loginResult()\n\nki = kk = kc = cl \n\nprint \"login success\"\nreload(sys)\nsys.setdefaultencoding('utf-8')\n\nhelpMessage =\"\"\" Chivas Bot\n[Id︎]\n[Mid]\n[Me︎]\n[TL︎:「Text」]\n[Mc 「mid」]\n[K on/off]\n[Join︎ on/off]\n[Gcancel:︎「Number of people」]\n[Group cancelalll︎]\n[Leave︎ on/off]\n[Add on/off]\n[Share on/off]\n[Message change:「text」]\n[Message check]\n[Confirm]\n[Jam on/off]\n[Change clock:「name」]\n[Up]\n[Cv join]\n\n[*] Command in the groups [*]\n\n[Curl]\n[Ourl]\n[url]\n[url:「Group ID」]\n[Invite：「mid」]\n[Kick：「mid」]\n[Ginfo]\n[jointicket]\n[Cancel]\n[Gn 「group name」]\n[Nk 「name」]\n\n[*] Command kicker only [*]\n\n[Bye]\n[Kill ban]\n[Kill 「@」]\n[Ban 「@」] By Tag\n[Unban 「@」] By Tag\n[Ban︎] Share Contact\n[Unban︎] Share Contact\n[Banlist︎]\n[Cek ban]\n[Cv mid]\n[Cv ︎invite:「mid」]\n[Cv ︎rename:「name」]\n[Cv ︎gift]\n[Respo︎n]\n[Bot cancel]\n[Title:]\n\"\"\"\nKAC=[cl,ki,kk,kc]\nmid = cl.getProfile().mid\nAmid = ki.getProfile().mid\nBmid = kk.getProfile().mid\nCmid = kc.getProfile().mid\n\nBots=[mid,Amid,Bmid,Cmid]\nadmin=[\"YOUR_MID_HERE\"]\nwait = {\n    'contact':True,\n    'autoJoin':True,\n    'autoCancel':{\"on\":True,\"members\":1},\n    'leaveRoom':True,\n    'timeline':True,\n    'autoAdd':True,\n    'message':\"Thanks for add me\",\n    \"lang\":\"JP\",\n    \"comment\":\"Thanks for add me\",\n    \"commentOn\":False,\n    \"commentBlack\":{},\n    \"wblack\":False,\n    \"dblack\":False,\n    \"clock\":True,\n    \"cName\":\"Chivas \",\n    \"blacklist\":{},\n    \"wblacklist\":False,\n    \"dblacklist\":False,\n    \"protectionOn\":True,\n    \"atjointicket\":False\n    }\n\nwait2 = {\n    'readPoint':{},\n    'readMember':{},\n    'setTime':{},\n    'ROM':{}\n    }\n\nsetTime = {}\nsetTime = wait2['setTime']\n\n\ndef sendMessage(to, text, contentMetadata={}, contentType=0):\n    mes = Message()\n    mes.to, mes.from_ = to, profile.mid\n    mes.text = text\n    mes.contentType, mes.contentMetadata = contentType, contentMetadata\n    if to not in messageReq:\n        messageReq[to] = -1\n    messageReq[to] += 1\n\ndef NOTIFIED_READ_MESSAGE(op):\n    try:\n        if op.param1 in wait2['readPoint']:\n            Name = cl.getContact(op.param2).displayName\n            if Name in wait2['readMember'][op.param1]:\n                pass\n            else:\n                wait2['readMember'][op.param1] += \"\\n・\" + Name\n                wait2['ROM'][op.param1][op.param2] = \"・\" + Name\n        else:\n            pass\n    except:\n        pass\n\n\ndef bot(op):\n    try:\n        if op.type == 0:\n            return\n        if op.type == 5:\n            if wait[\"autoAdd\"] == True:\n                cl.findAndAddContactsByMid(op.param1)\n                if (wait[\"message\"] in [\"\",\" \",\"\\n\",None]):\n                    pass\n                else:\n                    cl.sendText(op.param1,str(wait[\"message\"]))\n        if op.type == 13:\n                if op.param3 in mid:\n                    if op.param2 in Amid:\n                        G = ki.getGroup(op.param1)\n                        G.preventJoinByTicket = False\n                        ki.updateGroup(G)\n                        Ticket = ki.reissueGroupTicket(op.param1)\n                        cl.acceptGroupInvitationByTicket(op.param1,Ticket)\n                        G.preventJoinByTicket = True\n                        ki.updateGroup(G)\n                        Ticket = ki.reissueGroupTicket(op.param1)\n\n                if op.param3 in Amid:\n                    if op.param2 in Bmid:\n                        X = kk.getGroup(op.param1)\n                        X.preventJoinByTicket = False\n                        kk.updateGroup(X)\n                        Ti = kk.reissueGroupTicket(op.param1)\n                        ki.acceptGroupInvitationByTicket(op.param1,Ti)\n                        X.preventJoinByTicket = True\n                        kk.updateGroup(X)\n                        Ti = kk.reissueGroupTicket(op.param1)\n\n                if op.param3 in Bmid:\n                    if op.param2 in Cmid:\n                        X = kc.getGroup(op.param1)\n                        X.preventJoinByTicket = False\n                        kc.updateGroup(X)\n                        Ti = kc.reissueGroupTicket(op.param1)\n                        kk.acceptGroupInvitationByTicket(op.param1,Ti)\n                        X.preventJoinByTicket = True\n                        kc.updateGroup(X)\n                        Ti = kc.reissueGroupTicket(op.param1)\n\n                if op.param3 in Cmid:\n                    if op.param2 in mid:\n                        X = cl.getGroup(op.param1)\n                        X.preventJoinByTicket = False\n                        cl.updateGroup(X)\n                        Ti = cl.reissueGroupTicket(op.param1)\n                        kc.acceptGroupInvitationByTicket(op.param1,Ti)\n                        X.preventJoinByTicket = True\n                        cl.updateGroup(X)\n                        Ti = cl.reissueGroupTicket(op.param1)\n\n        if op.type == 13:\n            print op.param1\n            print op.param2\n            print op.param3\n            if mid in op.param3:\n                G = cl.getGroup(op.param1)\n                if wait[\"autoJoin\"] == True:\n                    if wait[\"autoCancel\"][\"on\"] == True:\n                        if len(G.members) <= wait[\"autoCancel\"][\"members\"]:\n                            cl.rejectGroupInvitation(op.param1)\n                        else:\n                            cl.acceptGroupInvitation(op.param1)\n                    else:\n                        cl.acceptGroupInvitation(op.param1)\n                elif wait[\"autoCancel\"][\"on\"] == True:\n                    if len(G.members) <= wait[\"autoCancel\"][\"members\"]:\n                        cl.rejectGroupInvitation(op.param1)\n            else:\n                Inviter = op.param3.replace(\"\u001e\",',')\n                InviterX = Inviter.split(\",\")\n                matched_list = []\n                for tag in wait[\"blacklist\"]:\n                    matched_list+=filter(lambda str: str == tag, InviterX)\n                if matched_list == []:\n                    pass\n                else:\n                    cl.cancelGroupInvitation(op.param1, matched_list)\n\n        if op.type == 19:\n                if mid in op.param3:\n                    if op.param2 in Bots:\n                        pass\n                    try:\n                        ki.kickoutFromGroup(op.param1,[op.param2])\n                    except:\n                        try:\n                            random.choice(KAC).kickoutFromGroup(op.param1,[op.param2])\n                        except:\n                            print (\"client Kick regulation or Because it does not exist in the group、\\n[\"+op.param1+\"]\\nの\\n[\"+op.param2+\"]\\nを蹴る事ができませんでした。\\nブラックリストに追加します。\")\n                        if op.param2 in wait[\"blacklist\"]:\n                            pass\n                        if op.param2 in wait[\"whitelist\"]:\n                            pass\n                        else:\n                            wait[\"blacklist\"][op.param2] = True\n                    G = ki.getGroup(op.param1)\n                    G.preventJoinByTicket = False\n                    ki.updateGroup(G)\n                    Ti = ki.reissueGroupTicket(op.param1)\n                    cl.acceptGroupInvitationByTicket(op.param1,Ti)\n                    ki.acceptGroupInvitationByTicket(op.param1,Ti)\n                    kk.acceptGroupInvitationByTicket(op.param1,Ti)\n                    kc.acceptGroupInvitationByTicket(op.param1,Ti)\n                    X = cl.getGroup(op.param1)\n                    X.preventJoinByTicket = True\n                    cl.updateGroup(X)\n                    Ti = cl.reissueGroupTicket(op.param1)\n                    if op.param2 in wait[\"blacklist\"]:\n                        pass\n                    if op.param2 in wait[\"whitelist\"]:\n                        pass\n                    else:\n                        wait[\"blacklist\"][op.param2] = True\n\n                if Amid in op.param3:\n                    if op.param2 in Bots:\n                        pass\n                    try:\n                        kk.kickoutFromGroup(op.param1,[op.param2])\n                        kc.kickoutFromGroup(op.param1,[op.param2])\n                    except:\n                        try:\n                            random.choice(KAC).kickoutFromGroup(op.param1,[op.param2])\n                        except:\n                            print (\"clientが蹴り規制orグループに存在しない為、\\n[\"+op.param1+\"]\\nの\\n[\"+op.param2+\"]\\nを蹴る事ができませんでした。\\nブラックリストに追加します。\")\n                        if op.param2 in wait[\"blacklist\"]:\n                            pass\n                        if op.param2 in wait[\"whitelist\"]:\n                            pass\n                        else:\n                            wait[\"blacklist\"][op.param2] = True\n\n                    X = kk.getGroup(op.param1)\n                    X.preventJoinByTicket = False\n                    cl.updateGroup(X)\n                    Ti = kk.reissueGroupTicket(op.param1)\n                    cl.acceptGroupInvitationByTicket(op.param1,Ti)\n                    ki.acceptGroupInvitationByTicket(op.param1,Ti)\n                    kk.acceptGroupInvitationByTicket(op.param1,Ti)\n                    G = ki.getGroup(op.param1)\n                    G.preventJoinByTicket = True\n                    ki.updateGroup(G)\n                    Ticket = ki.reissueGroupTicket(op.param1)\n                    if op.param2 in wait[\"blacklist\"]:\n                        pass\n                    if op.param2 in wait[\"whitelist\"]:\n                        pass\n                    else:\n                        wait[\"blacklist\"][op.param2] = True\n                if Bmid in op.param3:\n                    if op.param2 in Bots:\n                        pass\n                    try:\n                        kc.kickoutFromGroup(op.param1,[op.param2])\n                        kk.kickoutFromGroup(op.param1,[op.param2])\n                    except:\n                        try:\n                            random.choice(KAC).kickoutFromGroup(op.param1,[op.param2])\n                        except:\n                            print (\"clientが蹴り規制orグループに存在しない為、\\n[\"+op.param1+\"]\\nの\\n[\"+op.param2+\"]\\nを蹴る事ができませんでした。\\nブラックリストに追加します。\")\n                        if op.param2 in wait[\"blacklist\"]:\n                            pass\n                        if op.param2 in wait[\"whitelist\"]:\n                            pass\n                        else:\n                            wait[\"blacklist\"][op.param2] = True\n\n                    X = kc.getGroup(op.param1)\n                    X.preventJoinByTicket = False\n                    kc.updateGroup(X)\n                    Ti = kc.reissueGroupTicket(op.param1)\n                    cl.acceptGroupInvitationByTicket(op.param1,Ti)\n                    ki.acceptGroupInvitationByTicket(op.param1,Ti)\n                    kk.acceptGroupInvitationByTicket(op.param1,Ti)\n                    kc.acceptGroupInvitationByTicket(op.param1,Ti)\n                    G = kk.getGroup(op.param1)\n                    G.preventJoinByTicket = True\n                    kk.updateGroup(G)\n                    Ticket = kk.reissueGroupTicket(op.param1)\n                    if op.param2 in wait[\"blacklist\"]:\n                        pass\n                    if op.param2 in wait[\"whitelist\"]:\n                        pass\n                    else:\n                        wait[\"blacklist\"][op.param2] = True\n\n                if Cmid in op.param3:\n                    if op.param2 in Bots:\n                        pass\n                    try:\n                        cl.kickoutFromGroup(op.param1,[op.param2])\n                        kk.kickoutFromGroup(op.param1,[op.param2])\n                    except:\n                        try:\n                            random.choice(KAC).kickoutFromGroup(op.param1,[op.param2])\n                        except:\n                            print (\"clientが蹴り規制orグループに存在しない為、\\n[\"+op.param1+\"]\\nの\\n[\"+op.param2+\"]\\nを蹴る事ができませんでした。\\nブラックリストに追加します。\")\n                        if op.param2 in wait[\"blacklist\"]:\n                            pass\n                        if op.param2 in wait[\"whitelist\"]:\n                            pass\n                        else:\n                            wait[\"blacklist\"][op.param2] = True\n\n                    X = cl.getGroup(op.param1)\n                    X.preventJoinByTicket = False\n                    cl.updateGroup(X)\n                    Ti = cl.reissueGroupTicket(op.param1)\n                    cl.acceptGroupInvitationByTicket(op.param1,Ti)\n                    ki.acceptGroupInvitationByTicket(op.param1,Ti)\n                    kk.acceptGroupInvitationByTicket(op.param1,Ti)\n                    kc.acceptGroupInvitationByTicket(op.param1,Ti)\n                    G = kc.getGroup(op.param1)\n                    G.preventJoinByTicket = True\n                    kc.updateGroup(G)\n                    Ticket = kc.reissueGroupTicket(op.param1)\n                    if op.param2 in wait[\"blacklist\"]:\n                        pass\n                    if op.param2 in wait[\"whitelist\"]:\n                        pass\n                    else:\n                        wait[\"blacklist\"][op.param2] = True\n        if op.type == 13:\n            if mid in op.param3:\n                G = cl.getGroup(op.param1)\n                if wait[\"autoJoin\"] == True:\n                    if wait[\"autoCancel\"][\"on\"] == True:\n                        if len(G.members) <= wait[\"autoCancel\"][\"members\"]:\n                            cl.rejectGroupInvitation(op.param1)\n                        else:\n                            cl.acceptGroupInvitation(op.param1)\n                    else:\n                        cl.acceptGroupInvitation(op.param1)\n                elif wait[\"autoCancel\"][\"on\"] == True:\n                    if len(G.members) <= wait[\"autoCancel\"][\"members\"]:\n                        cl.rejectGroupInvitation(op.param1)\n            else:\n                Inviter = op.param3.replace(\"\u001e\",',')\n                InviterX = Inviter.split(\",\")\n                matched_list = []\n                for tag in wait[\"blacklist\"]:\n                    matched_list+=filter(lambda str: str == tag, InviterX)\n                if matched_list == []:\n                    pass\n                else:\n                    cl.cancelGroupInvitation(op.param1, matched_list)\n        if op.type == 22:\n            if wait[\"leaveRoom\"] == True:\n                cl.leaveRoom(op.param1)\n        if op.type == 24:\n            if wait[\"leaveRoom\"] == True:\n                cl.leaveRoom(op.param1)\n        if op.type == 26:\n            msg = op.message\n            if msg.toType == 0:\n                msg.to = msg.from_\n                if msg.from_ == profile.mid:\n                    if \"join:\" in msg.text:\n                        list_ = msg.text.split(\":\")\n                        try:\n                            cl.acceptGroupInvitationByTicket(list_[1],list_[2])\n                            X = cl.getGroup(list_[1])\n                            X.preventJoinByTicket = True\n                            cl.updateGroup(X)\n                        except:\n                            cl.sendText(msg.to,\"error\")\n            if msg.toType == 1:\n                if wait[\"leaveRoom\"] == True:\n                    cl.leaveRoom(msg.to)\n            if msg.contentType == 16:\n                url = msg.contentMetadata(\"line://home/post?userMid=\"+mid+\"&postId=\"+\"new_post\")\n                cl.like(url[25:58], url[66:], likeType=1001)\n        if op.type == 26:\n            msg = op.message\n            if msg.contentType == 13:\n               if wait[\"wblack\"] == True:\n                    if msg.contentMetadata[\"mid\"] in wait[\"commentBlack\"]:\n                        cl.sendText(msg.to,\"already\")\n                        wait[\"wblack\"] = False\n                    else:\n                        wait[\"commentBlack\"][msg.contentMetadata[\"mid\"]] = True\n                        wait[\"wblack\"] = False\n                        cl.sendText(msg.to,\"decided not to comment\")\n\n               elif wait[\"dblack\"] == True:\n                   if msg.contentMetadata[\"mid\"] in wait[\"commentBlack\"]:\n                        del wait[\"commentBlack\"][msg.contentMetadata[\"mid\"]]\n                        cl.sendText(msg.to,\"deleted\")\n                        ki.sendText(msg.to,\"deleted\")\n                        kk.sendText(msg.to,\"deleted\")\n                        kc.sendText(msg.to,\"deleted\")\n                        wait[\"dblack\"] = False\n\n                   else:\n                        wait[\"dblack\"] = False\n                        cl.sendText(msg.to,\"It is not in the black list\")\n                        ki.sendText(msg.to,\"It is not in the black list\")\n                        kk.sendText(msg.to,\"It is not in the black list\")\n                        kc.sendText(msg.to,\"It is not in the black list\")\n               elif wait[\"wblacklist\"] == True:\n                   if msg.contentMetadata[\"mid\"] in wait[\"blacklist\"]:\n                        cl.sendText(msg.to,\"already\")\n                        ki.sendText(msg.to,\"already\")\n                        kk.sendText(msg.to,\"already\")\n                        kc.sendText(msg.to,\"already\")\n                        wait[\"wblacklist\"] = False\n                   else:\n                        wait[\"blacklist\"][msg.contentMetadata[\"mid\"]] = True\n                        wait[\"wblacklist\"] = False\n                        cl.sendText(msg.to,\"aded\")\n                        ki.sendText(msg.to,\"aded\")\n                        kk.sendText(msg.to,\"aded\")\n                        kc.sendText(msg.to,\"aded\")\n\n               elif wait[\"dblacklist\"] == True:\n                   if msg.contentMetadata[\"mid\"] in wait[\"blacklist\"]:\n                        del wait[\"blacklist\"][msg.contentMetadata[\"mid\"]]\n                        cl.sendText(msg.to,\"deleted\")\n                        ki.sendText(msg.to,\"deleted\")\n                        kk.sendText(msg.to,\"deleted\")\n                        kc.sendText(msg.to,\"deleted\")\n                        wait[\"dblacklist\"] = False\n\n                   else:\n                        wait[\"dblacklist\"] = False\n                        cl.sendText(msg.to,\"It is not in the black list\")\n                        ki.sendText(msg.to,\"It is not in the black list\")\n                        kk.sendText(msg.to,\"It is not in the black list\")\n                        kc.sendText(msg.to,\"It is not in the black list\")\n               elif wait[\"contact\"] == True:\n                    msg.contentType = 0\n                    cl.sendText(msg.to,msg.contentMetadata[\"mid\"])\n                    if 'displayName' in msg.contentMetadata:\n                        contact = cl.getContact(msg.contentMetadata[\"mid\"])\n                        try:\n                            cu = cl.channel.getCover(msg.contentMetadata[\"mid\"])\n                        except:\n                            cu = \"\"\n                        cl.sendText(msg.to,\"[displayName]:\\n\" + msg.contentMetadata[\"displayName\"] + \"\\n[mid]:\\n\" + msg.contentMetadata[\"mid\"] + \"\\n[statusMessage]:\\n\" + contact.statusMessage + \"\\n[pictureStatus]:\\nhttp://dl.profile.line-cdn.net/\" + contact.pictureStatus + \"\\n[coverURL]:\\n\" + str(cu))\n                    else:\n                        contact = cl.getContact(msg.contentMetadata[\"mid\"])\n                        try:\n                            cu = cl.channel.getCover(msg.contentMetadata[\"mid\"])\n                        except:\n                            cu = \"\"\n                        cl.sendText(msg.to,\"[displayName]:\\n\" + contact.displayName + \"\\n[mid]:\\n\" + msg.contentMetadata[\"mid\"] + \"\\n[statusMessage]:\\n\" + contact.statusMessage + \"\\n[pictureStatus]:\\nhttp://dl.profile.line-cdn.net/\" + contact.pictureStatus + \"\\n[coverURL]:\\n\" + str(cu))\n            elif msg.contentType == 16:\n                if wait[\"timeline\"] == True:\n                    msg.contentType = 0\n                    if wait[\"lang\"] == \"JP\":\n                        msg.text = \"post URL\\n\" + msg.contentMetadata[\"postEndUrl\"]\n                    else:\n                        msg.text = \"URLâ†’\\n\" + msg.contentMetadata[\"postEndUrl\"]\n                    cl.sendText(msg.to,msg.text)\n            elif msg.text is None:\n                return\n            elif msg.text in [\"Key\",\"help\",\"Help\"]:\n                if wait[\"lang\"] == \"JP\":\n                    cl.sendText(msg.to,helpMessage)\n                else:\n                    cl.sendText(msg.to,helpt)\n            elif (\"Gn \" in msg.text):\n                if msg.toType == 2:\n                    X = cl.getGroup(msg.to)\n                    X.name = msg.text.replace(\"Gn \",\"\")\n                    cl.updateGroup(X)\n                else:\n                    cl.sendText(msg.to,\"It can't be used besides the group.\")\n            elif (\"Cv1 gn \" in msg.text):\n                if msg.toType == 2:\n                    X = cl.getGroup(msg.to)\n                    X.name = msg.text.replace(\"Cv1 gn \",\"\")\n                    ki.updateGroup(X)\n                else:\n                    ki.sendText(msg.to,\"It can't be used besides the group.\")\n            elif (\"Cv2 gn \" in msg.text):\n                if msg.toType == 2:\n                    X = cl.getGroup(msg.to)\n                    X.name = msg.text.replace(\"Cv2 gn \",\"\")\n                    kk.updateGroup(X)\n                else:\n                    kk.sendText(msg.to,\"It can't be used besides the group.\")\n            elif (\"Cv3 gn \" in msg.text):\n                if msg.toType == 2:\n                    X = cl.getGroup(msg.to)\n                    X.name = msg.text.replace(\"Cv3 gn \",\"\")\n                    kc.updateGroup(X)\n                else:\n                    kc.sendText(msg.to,\"It can't be used besides the group.\")\n            elif \"Kick \" in msg.text:\n                midd = msg.text.replace(\"Kick \",\"\")\n                cl.kickoutFromGroup(msg.to,[midd])\n            elif \"Cv1 kick \" in msg.text:\n                midd = msg.text.replace(\"Cv1 kick \",\"\")\n                ki.kickoutFromGroup(msg.to,[midd])\n            elif \"Cv2 kick \" in msg.text:\n                midd = msg.text.replace(\"Cv2 kick \",\"\")\n                kk.kickoutFromGroup(msg.to,[midd])\n            elif \"Cv3 kick \" in msg.text:\n                midd = msg.text.replace(\"Cv3 kick \",\"\")\n                kc.kickoutFromGroup(msg.to,[midd])\n            elif \"Invite \" in msg.text:\n                midd = msg.text.replace(\"Invite \",\"\")\n                cl.findAndAddContactsByMid(midd)\n                cl.inviteIntoGroup(msg.to,[midd])\n            elif \"Cv1 invite \" in msg.text:\n                midd = msg.text.replace(\"Cv1 invite \",\"\")\n                ki.findAndAddContactsByMid(midd)\n                ki.inviteIntoGroup(msg.to,[midd])\n            elif \"Cv2 invite \" in msg.text:\n                midd = msg.text.replace(\"Cv2 invite \",\"\")\n                kk.findAndAddContactsByMid(midd)\n                kk.inviteIntoGroup(msg.to,[midd])\n            elif \"Cv3 invite \" in msg.text:\n                midd = msg.text.replace(\"Cv3 invite \",\"\")\n                kc.findAndAddContactsByMid(midd)\n                kc.inviteIntoGroup(msg.to,[midd])\n            elif msg.text in [\"Me\"]:\n                msg.contentType = 13\n                msg.contentMetadata = {'mid': mid}\n                cl.sendMessage(msg)\n            elif msg.text in [\"Cv1\"]:\n                msg.contentType = 13\n                msg.contentMetadata = {'mid': Amid}\n                ki.sendMessage(msg)\n            elif msg.text in [\"Cv2\"]:\n                msg.contentType = 13\n                msg.contentMetadata = {'mid': Bmid}\n                kk.sendMessage(msg)\n            elif msg.text in [\"æ„›ã®ãƒ—ãƒ¬ã‚¼ãƒ³ãƒˆ\",\"Gift\"]:\n                msg.contentType = 9\n                msg.contentMetadata={'PRDID': 'a0768339-c2d3-4189-9653-2909e9bb6f58',\n                                    'PRDTYPE': 'THEME',\n                                    'MSGTPL': '5'}\n                msg.text = None\n                cl.sendMessage(msg)\n            elif msg.text in [\"æ„›ã®ãƒ—ãƒ¬ã‚¼ãƒ³ãƒˆ\",\"Cv1 gift\"]:\n                msg.contentType = 9\n                msg.contentMetadata={'PRDID': 'a0768339-c2d3-4189-9653-2909e9bb6f58',\n                                    'PRDTYPE': 'THEME',\n                                    'MSGTPL': '6'}\n                msg.text = None\n                ki.sendMessage(msg)\n            elif msg.text in [\"æ„›ã®ãƒ—ãƒ¬ã‚¼ãƒ³ãƒˆ\",\"Cv2 gift\"]:\n                msg.contentType = 9\n                msg.contentMetadata={'PRDID': 'a0768339-c2d3-4189-9653-2909e9bb6f58',\n                                    'PRDTYPE': 'THEME',\n                                    'MSGTPL': '8'}\n                msg.text = None\n                kk.sendMessage(msg)\n            elif msg.text in [\"æ„›ã®ãƒ—ãƒ¬ã‚¼ãƒ³ãƒˆ\",\"Cv3 gift\"]:\n                msg.contentType = 9\n                msg.contentMetadata={'PRDID': 'a0768339-c2d3-4189-9653-2909e9bb6f58',\n                                    'PRDTYPE': 'THEME',\n                                    'MSGTPL': '10'}\n                msg.text = None\n                kc.sendMessage(msg)\n            elif msg.text in [\"æ„›ã®ãƒ—ãƒ¬ã‚¼ãƒ³ãƒˆ\",\"All gift\"]:\n                msg.contentType = 9\n                msg.contentMetadata={'PRDID': 'a0768339-c2d3-4189-9653-2909e9bb6f58',\n                                    'PRDTYPE': 'THEME',\n                                    'MSGTPL': '12'}\n                msg.text = None\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n                kc.sendMessage(msg)\n            elif msg.text in [\"cancel\",\"Cancel\"]:\n                if msg.toType == 2:\n                    X = cl.getGroup(msg.to)\n                    if X.invitee is not None:\n                        gInviMids = [contact.mid for contact in X.invitee]\n                        cl.cancelGroupInvitation(msg.to, gInviMids)\n                    else:\n                        if wait[\"lang\"] == \"JP\":\n                            cl.sendText(msg.to,\"No one is inviting\")\n                        else:\n                            cl.sendText(msg.to,\"Sorry, nobody absent\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        cl.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv cancel\",\"Bot cancel\"]:\n                if msg.toType == 2:\n                    G = k3.getGroup(msg.to)\n                    if G.invitee is not None:\n                        gInviMids = [contact.mid for contact in G.invitee]\n                        k3.cancelGroupInvitation(msg.to, gInviMids)\n                    else:\n                        if wait[\"lang\"] == \"JP\":\n                            k3.sendText(msg.to,\"No one is inviting\")\n                        else:\n                            k3.sendText(msg.to,\"Sorry, nobody absent\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        k3.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        k3.sendText(msg.to,\"Not for use less than group\")\n            #elif \"gurl\" == msg.text:\n                #print cl.getGroup(msg.to)\n                ##cl.sendMessage(msg)\n            elif msg.text in [\"Ourl\",\"Link on\"]:\n                if msg.toType == 2:\n                    X = cl.getGroup(msg.to)\n                    X.preventJoinByTicket = False\n                    cl.updateGroup(X)\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Done\")\n                    else:\n                        cl.sendText(msg.to,\"already open\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        cl.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv1 ourl\",\"Cv1 link on\"]:\n                if msg.toType == 2:\n                    X = cl.getGroup(msg.to)\n                    X.preventJoinByTicket = False\n                    ki.updateGroup(X)\n                    if wait[\"lang\"] == \"JP\":\n                        ki.sendText(msg.to,\"Done Chivas\")\n                    else:\n                        ki.sendText(msg.to,\"already open\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        cl.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv2 ourl\",\"Cv2 link on\"]:\n                if msg.toType == 2:\n                    X = kk.getGroup(msg.to)\n                    X.preventJoinByTicket = False\n                    kk.updateGroup(X)\n                    if wait[\"lang\"] == \"JP\":\n                        kk.sendText(msg.to,\"Done Chivas\")\n                    else:\n                        kk.sendText(msg.to,\"already open\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        kk.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        kk.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv3 ourl\",\"Cv3 link on\"]:\n                if msg.toType == 2:\n                    X = kc.getGroup(msg.to)\n                    X.preventJoinByTicket = False\n                    kc.updateGroup(X)\n                    if wait[\"lang\"] == \"JP\":\n                        kc.sendText(msg.to,\"Done Chivas\")\n                    else:\n                        kc.sendText(msg.to,\"already open\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        kc.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        kc.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Curl\",\"Link off\"]:\n                if msg.toType == 2:\n                    X = cl.getGroup(msg.to)\n                    X.preventJoinByTicket = True\n                    cl.updateGroup(X)\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Done\")\n                    else:\n                        cl.sendText(msg.to,\"already close\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        cl.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv1 curl\",\"Cv1 link off\"]:\n                if msg.toType == 2:\n                    X = ki.getGroup(msg.to)\n                    X.preventJoinByTicket = True\n                    ki.updateGroup(X)\n                    if wait[\"lang\"] == \"JP\":\n                        ki.sendText(msg.to,\"Done Chivas\")\n                    else:\n                        ki.sendText(msg.to,\"already close\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        ki.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        ki.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv2 curl\",\"Cv2 link off\"]:\n                if msg.toType == 2:\n                    X = kk.getGroup(msg.to)\n                    X.preventJoinByTicket = True\n                    kk.updateGroup(X)\n                    if wait[\"lang\"] == \"JP\":\n                        kk.sendText(msg.to,\"Done Chivas\")\n                    else:\n                        kk.sendText(msg.to,\"already close\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        kk.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        kk.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv3 curl\",\"Cv3 link off\"]:\n                if msg.toType == 2:\n                    X = kc.getGroup(msg.to)\n                    X.preventJoinByTicket = True\n                    kc.updateGroup(X)\n                    if wait[\"lang\"] == \"JP\":\n                        kc.sendText(msg.to,\"Done Chivas\")\n                    else:\n                        kc.sendText(msg.to,\"already close\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        kc.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        kc.sendText(msg.to,\"Not for use less than group\")\n            elif \"jointicket \" in msg.text.lower():\n\t\trplace=msg.text.lower().replace(\"jointicket \")\n\t\tif rplace == \"on\":\n\t\t\twait[\"atjointicket\"]=True\n\t\telif rplace == \"off\":\n\t\t\twait[\"atjointicket\"]=False\n\t\tcl.sendText(msg.to,\"Auto Join Group by Ticket is %s\" % str(wait[\"atjointicket\"]))\n            elif '/ti/g/' in msg.text.lower():\n\t\tlink_re = re.compile('(?:line\\:\\/|line\\.me\\/R)\\/ti\\/g\\/([a-zA-Z0-9_-]+)?')\n\t\tlinks = link_re.findall(msg.text)\n\t\tn_links=[]\n\t\tfor l in links:\n\t\t\tif l not in n_links:\n\t\t\t\tn_links.append(l)\n\t\tfor ticket_id in n_links:\n\t\t\tif wait[\"atjointicket\"] == True:\n\t\t\t\tgroup=cl.findGroupByTicket(ticket_id)\n\t\t\t\tcl.acceptGroupInvitationByTicket(group.id,ticket_id)\n\t\t\t\tcl.sendText(msg.to,\"Sukses join ke grup %s\" % str(group.name))\n            elif msg.text == \"Ginfo\":\n                if msg.toType == 2:\n                    ginfo = cl.getGroup(msg.to)\n                    try:\n                        gCreator = ginfo.creator.displayName\n                    except:\n                        gCreator = \"Error\"\n                    if wait[\"lang\"] == \"JP\":\n                        if ginfo.invitee is None:\n                            sinvitee = \"0\"\n                        else:\n                            sinvitee = str(len(ginfo.invitee))\n                        if ginfo.preventJoinByTicket == True:\n                            u = \"close\"\n                        else:\n                            u = \"open\"\n                        cl.sendText(msg.to,\"[group name]\\n\" + str(ginfo.name) + \"\\n[gid]\\n\" + msg.to + \"\\n[group creator]\\n\" + gCreator + \"\\n[profile status]\\nhttp://dl.profile.line.naver.jp/\" + ginfo.pictureStatus + \"\\nmembers:\" + str(len(ginfo.members)) + \"members\\npending:\" + sinvitee + \"people\\nURL:\" + u + \"it is inside\")\n                    else:\n                        cl.sendText(msg.to,\"[group name]\\n\" + str(ginfo.name) + \"\\n[gid]\\n\" + msg.to + \"\\n[group creator]\\n\" + gCreator + \"\\n[profile status]\\nhttp://dl.profile.line.naver.jp/\" + ginfo.pictureStatus)\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Can not be used outside the group\")\n                    else:\n                        cl.sendText(msg.to,\"Not for use less than group\")\n            elif \"Id\" == msg.text:\n                cl.sendText(msg.to,msg.to)\n            elif \"All mid\" == msg.text:\n                cl.sendText(msg.to,mid)\n                ki.sendText(msg.to,Amid)\n                kk.sendText(msg.to,Bmid)\n                kc.sendText(msg.to,Cmid)\n            elif \"Mid\" == msg.text:\n                cl.sendText(msg.to,mid)\n            elif \"Cv1 mid\" == msg.text:\n                ki.sendText(msg.to,Amid)\n            elif \"Cv2 mid\" == msg.text:\n                kk.sendText(msg.to,Bmid)\n            elif \"Cv3 mid\" == msg.text:\n                kc.sendText(msg.to,Cmid)\n            elif msg.text in [\"Wkwk\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"100\",\n                                     \"STKPKGID\": \"1\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n            elif msg.text in [\"Hehehe\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"10\",\n                                     \"STKPKGID\": \"1\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n            elif msg.text in [\"Galon\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"9\",\n                                     \"STKPKGID\": \"1\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n            elif msg.text in [\"You\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"7\",\n                                     \"STKPKGID\": \"1\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n            elif msg.text in [\"Hadeuh\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"6\",\n                                     \"STKPKGID\": \"1\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n            elif msg.text in [\"Please\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"4\",\n                                     \"STKPKGID\": \"1\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n            elif msg.text in [\"Haaa\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"3\",\n                                     \"STKPKGID\": \"1\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n            elif msg.text in [\"Lol\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"110\",\n                                     \"STKPKGID\": \"1\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n            elif msg.text in [\"Hmmm\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"101\",\n                                     \"STKPKGID\": \"1\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n            elif msg.text in [\"Welcome\"]:\n                msg.contentType = 7\n                msg.text = None\n                msg.contentMetadata = {\n                                     \"STKID\": \"247\",\n                                     \"STKPKGID\": \"3\",\n                                     \"STKVER\": \"100\" }\n                ki.sendMessage(msg)\n                kk.sendMessage(msg)\n            elif msg.text in [\"TL:\"]:\n                tl_text = msg.text.replace(\"TL:\",\"\")\n                cl.sendText(msg.to,\"line://home/post?userMid=\"+mid+\"&postId=\"+cl.new_post(tl_text)[\"result\"][\"post\"][\"postInfo\"][\"postId\"])\n            elif msg.text in [\"Cn \"]:\n                string = msg.text.replace(\"Cn \",\"\")\n                if len(string.decode('utf-8')) <= 20:\n                    profile = cl.getProfile()\n                    profile.displayName = string\n                    cl.updateProfile(profile)\n                    cl.sendText(msg.to,\"name \" + string + \" done\")\n            elif msg.text in [\"Cv1 rename \"]:\n                string = msg.text.replace(\"Cv1 rename \",\"\")\n                if len(string.decode('utf-8')) <= 20:\n                    profile_B = ki.getProfile()\n                    profile_B.displayName = string\n                    ki.updateProfile(profile_B)\n                    ki.sendText(msg.to,\"name \" + string + \" done\")\n            elif msg.text in [\"Cv2 rename \"]:\n                string = msg.text.replace(\"Cv2 rename \",\"\")\n                if len(string.decode('utf-8')) <= 20:\n                    profile_B = kk.getProfile()\n                    profile_B.displayName = string\n                    kk.updateProfile(profile_B)\n                    kk.sendText(msg.to,\"name \" + string + \" done\")\n            elif msg.text in [\"Mc \"]:\n                mmid = msg.text.replace(\"Mc \",\"\")\n                msg.contentType = 13\n                msg.contentMetadata = {\"mid\":mmid}\n                cl.sendMessage(msg)\n            elif msg.text in [\"é€£çµ¡å…ˆ:ã‚ªãƒ³\",\"K on\",\"Contact on\",\"é¡¯ç¤ºï¼šé–‹\"]:\n                if wait[\"contact\"] == True:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already on\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n                else:\n                    wait[\"contact\"] = True\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already on\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n            elif msg.text in [\"é€£çµ¡å…ˆ:ã‚ªãƒ•\",\"K off\",\"Contact off\",\"é¡¯ç¤ºï¼šé—œ\"]:\n                if wait[\"contact\"] == False:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already off\")\n                    else:\n                        cl.sendText(msg.to,\"done \")\n                else:\n                    wait[\"contact\"] = False\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already off\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n            elif msg.text in [\"è‡ªå‹•å‚åŠ :ã‚ªãƒ³\",\"Join on\",\"Auto join:on\",\"è‡ªå‹•åƒåŠ ï¼šé–‹\"]:\n                if wait[\"autoJoin\"] == True:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already on\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n                else:\n                    wait[\"autoJoin\"] = True\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already on\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n            elif msg.text in [\"è‡ªå‹•å‚åŠ :ã‚ªãƒ•\",\"Join off\",\"Auto join:off\",\"è‡ªå‹•åƒåŠ ï¼šé—œ\"]:\n                if wait[\"autoJoin\"] == False:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already off\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n                else:\n                    wait[\"autoJoin\"] = False\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already off\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n            elif msg.text in [\"Gcancel:\"]:\n                try:\n                    strnum = msg.text.replace(\"Gcancel:\",\"\")\n                    if strnum == \"off\":\n                        wait[\"autoCancel\"][\"on\"] = False\n                        if wait[\"lang\"] == \"JP\":\n                            cl.sendText(msg.to,\"Invitation refused turned off\\nTo turn on please specify the number of people and send\")\n                        else:\n                            cl.sendText(msg.to,\"å…³äº†é‚€è¯·æ‹’ç»ã€‚è¦æ—¶å¼€è¯·æŒ‡å®šäººæ•°å‘é€\")\n                    else:\n                        num =  int(strnum)\n                        wait[\"autoCancel\"][\"on\"] = True\n                        if wait[\"lang\"] == \"JP\":\n                            cl.sendText(msg.to,strnum + \"The group of people and below decided to automatically refuse invitation\")\n                        else:\n                            cl.sendText(msg.to,strnum + \"ä½¿äººä»¥ä¸‹çš„å°ç»„ç”¨è‡ªåŠ¨é‚€è¯·æ‹’ç»\")\n                except:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Value is wrong\")\n                    else:\n                        cl.sendText(msg.to,\"Bizarre ratings\")\n            elif msg.text in [\"å¼·åˆ¶è‡ªå‹•é€€å‡º:ã‚ªãƒ³\",\"Leave on\",\"Auto leave:on\",\"å¼·åˆ¶è‡ªå‹•é€€å‡ºï¼šé–‹\"]:\n                if wait[\"leaveRoom\"] == True:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already on\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n                else:\n                    wait[\"leaveRoom\"] = True\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"è¦äº†å¼€ã€‚\")\n            elif msg.text in [\"å¼·åˆ¶è‡ªå‹•é€€å‡º:ã‚ªãƒ•\",\"Leave off\",\"Auto leave:off\",\"å¼·åˆ¶è‡ªå‹•é€€å‡ºï¼šé—œ\"]:\n                if wait[\"leaveRoom\"] == False:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already off\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n                else:\n                    wait[\"leaveRoom\"] = False\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"already\")\n            elif msg.text in [\"å…±æœ‰:ã‚ªãƒ³\",\"Share on\",\"Share on\"]:\n                if wait[\"timeline\"] == True:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already on\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n                else:\n                    wait[\"timeline\"] = True\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"è¦äº†å¼€ã€‚\")\n            elif msg.text in [\"å…±æœ‰:ã‚ªãƒ•\",\"Share off\",\"Share off\"]:\n                if wait[\"timeline\"] == False:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already off\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n                else:\n                    wait[\"timeline\"] = False\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"è¦äº†å…³æ–­ã€‚\")\n            elif msg.text in [\"Set\"]:\n                md = \"\"\n                if wait[\"contact\"] == True: md+=\" Contact : on\\n\"\n                else: md+=\" Contact : off\\n\"\n                if wait[\"autoJoin\"] == True: md+=\" Auto join : on\\n\"\n                else: md +=\" Auto join : off\\n\"\n                if wait[\"autoCancel\"][\"on\"] == True:md+=\" Group cancel :\" + str(wait[\"autoCancel\"][\"members\"]) + \"\\n\"\n                else: md+= \" Group cancel : off\\n\"\n                if wait[\"leaveRoom\"] == True: md+=\" Auto leave : on\\n\"\n                else: md+=\" Auto leave : off\\n\"\n                if wait[\"timeline\"] == True: md+=\" Share : on\\n\"\n                else:md+=\" Share : off\\n\"\n                if wait[\"autoAdd\"] == True: md+=\" Auto add : on\\n\"\n                else:md+=\" Auto add : off\\n\"\n                if wait[\"commentOn\"] == True: md+=\" Comment : on\\n\"\n                else:md+=\" Comment : off\\n\"\n                if wait[\"atjointicket\"] == True: md+=\" Auto Join Group by Ticket : on\\n\"\n                else:md+=\" Auto Join Group by Ticket : off\\n\"\n                cl.sendText(msg.to,md)\n            elif \"album merit \" in msg.text:\n                gid = msg.text.replace(\"album merit \",\"\")\n                album = cl.getAlbum(gid)\n                if album[\"result\"][\"items\"] == []:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"There is no album\")\n                    else:\n                        cl.sendText(msg.to,\"ç›¸å†Œæ²¡åœ¨ã€‚\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        mg = \"The following is the target album\"\n                    else:\n                        mg = \"ä»¥ä¸‹æ˜¯å¯¹è±¡çš„ç›¸å†Œ\"\n                    for y in album[\"result\"][\"items\"]:\n                        if \"photoCount\" in y:\n                            mg += str(y[\"title\"]) + \":\" + str(y[\"photoCount\"]) + \"sheet\\n\"\n                        else:\n                            mg += str(y[\"title\"]) + \":0sheet\\n\"\n                    cl.sendText(msg.to,mg)\n            elif \"album \" in msg.text:\n                gid = msg.text.replace(\"album \",\"\")\n                album = cl.getAlbum(gid)\n                if album[\"result\"][\"items\"] == []:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"There is no album\")\n                    else:\n                        cl.sendText(msg.to,\"ç›¸å†Œæ²¡åœ¨ã€‚\")\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        mg = \"The following is the target album\"\n                    else:\n                        mg = \"ä»¥ä¸‹æ˜¯å¯¹è±¡çš„ç›¸å†Œ\"\n                    for y in album[\"result\"][\"items\"]:\n                        if \"photoCount\" in y:\n                            mg += str(y[\"title\"]) + \":\" + str(y[\"photoCount\"]) + \"sheet\\n\"\n                        else:\n                            mg += str(y[\"title\"]) + \":0sheet\\n\"\n            elif \"album remove \" in msg.text:\n                gid = msg.text.replace(\"album remove \",\"\")\n                albums = cl.getAlbum(gid)[\"result\"][\"items\"]\n                i = 0\n                if albums != []:\n                    for album in albums:\n                        cl.deleteAlbum(gid,album[\"id\"])\n                        i += 1\n                if wait[\"lang\"] == \"JP\":\n                    cl.sendText(msg.to,str(i) + \"Deleted albums\")\n                else:\n                    cl.sendText(msg.to,str(i) + \"åˆ é™¤äº†äº‹çš„ç›¸å†Œã€‚\")\n            elif msg.text in [\"Group id\",\"ç¾¤çµ„å…¨id\"]:\n                gid = cl.getGroupIdsJoined()\n                h = \"\"\n                for i in gid:\n                    h += \"[%s]:%s\\n\" % (cl.getGroup(i).name,i)\n                cl.sendText(msg.to,h)\n            elif msg.text in [\"Cancelall\"]:\n                gid = cl.getGroupIdsInvited()\n                for i in gid:\n                    cl.rejectGroupInvitation(i)\n                if wait[\"lang\"] == \"JP\":\n                    cl.sendText(msg.to,\"All invitations have been refused\")\n                else:\n                    cl.sendText(msg.to,\"æ‹’ç»äº†å…¨éƒ¨çš„é‚€è¯·ã€‚\")\n            elif \"album removeâ†’\" in msg.text:\n                gid = msg.text.replace(\"album removeâ†’\",\"\")\n                albums = cl.getAlbum(gid)[\"result\"][\"items\"]\n                i = 0\n                if albums != []:\n                    for album in albums:\n                        cl.deleteAlbum(gid,album[\"id\"])\n                        i += 1\n                if wait[\"lang\"] == \"JP\":\n                    cl.sendText(msg.to,str(i) + \"Albums deleted\")\n                else:\n                    cl.sendText(msg.to,str(i) + \"åˆ é™¤äº†äº‹çš„ç›¸å†Œã€‚\")\n            elif msg.text in [\"è‡ªå‹•è¿½åŠ :ã‚ªãƒ³\",\"Add on\",\"Auto add:on\",\"è‡ªå‹•è¿½åŠ ï¼šé–‹\"]:\n                if wait[\"autoAdd\"] == True:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already on\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n                else:\n                    wait[\"autoAdd\"] = True\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"è¦äº†å¼€ã€‚\")\n            elif msg.text in [\"è‡ªå‹•è¿½åŠ :ã‚ªãƒ•\",\"Add off\",\"Auto add:off\",\"è‡ªå‹•è¿½åŠ ï¼šé—œ\"]:\n                if wait[\"autoAdd\"] == False:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"already off\")\n                    else:\n                        cl.sendText(msg.to,\"done\")\n                else:\n                    wait[\"autoAdd\"] = False\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"è¦äº†å…³æ–­ã€‚\")\n            elif \"Message change: \" in msg.text:\n                wait[\"message\"] = msg.text.replace(\"Message change: \",\"\")\n                cl.sendText(msg.to,\"message changed\")\n            elif \"Message add: \" in msg.text:\n                wait[\"message\"] = msg.text.replace(\"Message add: \",\"\")\n                if wait[\"lang\"] == \"JP\":\n                    cl.sendText(msg.to,\"message changed\")\n                else:\n                    cl.sendText(msg.to,\"doneã€‚\")\n            elif msg.text in [\"Message\",\"è‡ªå‹•è¿½åŠ å•å€™èªžç¢ºèª\"]:\n                if wait[\"lang\"] == \"JP\":\n                    cl.sendText(msg.to,\"message change to\\n\\n\" + wait[\"message\"])\n                else:\n                    cl.sendText(msg.to,\"The automatic appending information is set as followsã€‚\\n\\n\" + wait[\"message\"])\n            elif \"Comment:\" in msg.text:\n                c = msg.text.replace(\"Comment:\",\"\")\n                if c in [\"\",\" \",\"\\n\",None]:\n                    cl.sendText(msg.to,\"message changed\")\n                else:\n                    wait[\"comment\"] = c\n                    cl.sendText(msg.to,\"changed\\n\\n\" + c)\n            elif \"Add comment:\" in msg.text:\n                c = msg.text.replace(\"Add comment:\",\"\")\n                if c in [\"\",\" \",\"\\n\",None]:\n                    cl.sendText(msg.to,\"String that can not be changed\")\n                else:\n                    wait[\"comment\"] = c\n                    cl.sendText(msg.to,\"changed\\n\\n\" + c)\n            elif msg.text in [\"ã‚³ãƒ¡ãƒ³ãƒˆ:ã‚ªãƒ³\",\"Comment on\",\"Comment:on\",\"è‡ªå‹•é¦–é ç•™è¨€ï¼šé–‹\"]:\n                if wait[\"commentOn\"] == True:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"already on\")\n                else:\n                    wait[\"commentOn\"] = True\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"è¦äº†å¼€ã€‚\")\n            elif msg.text in [\"ã‚³ãƒ¡ãƒ³ãƒˆ:ã‚ªãƒ•\",\"Comment on\",\"Comment off\",\"è‡ªå‹•é¦–é ç•™è¨€ï¼šé—œ\"]:\n                if wait[\"commentOn\"] == False:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"already off\")\n                else:\n                    wait[\"commentOn\"] = False\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"done\")\n                    else:\n                        cl.sendText(msg.to,\"è¦äº†å…³æ–­ã€‚\")\n            elif msg.text in [\"Comment\",\"ç•™è¨€ç¢ºèª\"]:\n                cl.sendText(msg.to,\"message changed to\\n\\n\" + str(wait[\"comment\"]))\n            elif msg.text in [\"Gurl\"]:\n                if msg.toType == 2:\n                    x = cl.getGroup(msg.to)\n                    if x.preventJoinByTicket == True:\n                        x.preventJoinByTicket = False\n                        cl.updateGroup(x)\n                    gurl = cl.reissueGroupTicket(msg.to)\n                    cl.sendText(msg.to,\"line://ti/g/\" + gurl)\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Can't be used outside the group\")\n                    else:\n                        cl.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv1 gurl\"]:\n                if msg.toType == 2:\n                    x = cl.getGroup(msg.to)\n                    if x.preventJoinByTicket == True:\n                        x.preventJoinByTicket = False\n                        ki.updateGroup(x)\n                    gurl = ki.reissueGroupTicket(msg.to)\n                    ki.sendText(msg.to,\"line://ti/g/\" + gurl)\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Can't be used outside the group\")\n                    else:\n                        cl.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv2 gurl\"]:\n                if msg.toType == 2:\n                    x = cl.getGroup(msg.to)\n                    if x.preventJoinByTicket == True:\n                        x.preventJoinByTicket = False\n                        kk.updateGroup(x)\n                    gurl = kk.reissueGroupTicket(msg.to)\n                    kk.sendText(msg.to,\"line://ti/g/\" + gurl)\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Can't be used outside the group\")\n                    else:\n                        cl.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Cv3 gurl\"]:\n                if msg.toType == 2:\n                    x = cl.getGroup(msg.to)\n                    if x.preventJoinByTicket == True:\n                        x.preventJoinByTicket = False\n                        kc.updateGroup(x)\n                    gurl = kc.reissueGroupTicket(msg.to)\n                    kc.sendText(msg.to,\"line://ti/g/\" + gurl)\n                else:\n                    if wait[\"lang\"] == \"JP\":\n                        cl.sendText(msg.to,\"Can't be used outside the group\")\n                    else:\n                        cl.sendText(msg.to,\"Not for use less than group\")\n            elif msg.text in [\"Comment bl \"]:\n                wait[\"wblack\"] = True\n                cl.sendText(msg.to,\"add to comment bl\")\n            elif msg.text in [\"Comment wl \"]:\n                wait[\"dblack\"] = True\n                cl.sendText(msg.to,\"wl to comment bl\")\n            elif msg.text in [\"Comment bl confirm\"]:\n                if wait[\"commentBlack\"] == {}:\n                    cl.sendText(msg.to,\"confirmed\")\n                else:\n                    cl.sendText(msg.to,\"Blacklist\")\n                    mc = \"\"\n                    for mi_d in wait[\"commentBlack\"]:\n                        mc += \"\" +cl.getContact(mi_d).displayName + \"\\n\"\n                    cl.sendText(msg.to,mc)\n            elif msg.text in [\"Jam on\"]:\n                if wait[\"clock\"] == True:\n                    cl.sendText(msg.to,\"already on\")\n                else:\n                    wait[\"clock\"] = True\n                    now2 = datetime.now()\n                    nowT = datetime.strftime(now2,\"(%H:%M)\")\n                    profile = cl.getProfile()\n                    profile.displayName = wait[\"cName\"] + nowT\n                    cl.updateProfile(profile)\n                    cl.sendText(msg.to,\"done\")\n            elif msg.text in [\"Jam off\"]:\n                if wait[\"clock\"] == False:\n                    cl.sendText(msg.to,\"already off\")\n                else:\n                    wait[\"clock\"] = False\n                    cl.sendText(msg.to,\"done\")\n            elif msg.text in [\"Change clock \"]:\n                n = msg.text.replace(\"Change clock \",\"\")\n                if len(n.decode(\"utf-8\")) > 13:\n                    cl.sendText(msg.to,\"changed\")\n                else:\n                    wait[\"cName\"] = n\n                    cl.sendText(msg.to,\"changed to\\n\\n\" + n)\n            elif msg.text in [\"Up\"]:\n                if wait[\"clock\"] == True:\n                    now2 = datetime.now()\n                    nowT = datetime.strftime(now2,\"(%H:%M)\")\n                    profile = cl.getProfile()\n                    profile.displayName = wait[\"cName\"] + nowT\n                    cl.updateProfile(profile)\n                    cl.sendText(msg.to,\"Jam Update\")\n                else:\n                    cl.sendText(msg.to,\"Please turn on the name clock\")\n\n            elif msg.text == \"$set\":\n                    cl.sendText(msg.to, \"Check sider\")\n                    ki.sendText(msg.to, \"Check sider\")\n                    kk.sendText(msg.to, \"Check sider\")\n                    kc.sendText(msg.to, \"Check sider\")\n                    try:\n                        del wait2['readPoint'][msg.to]\n                        del wait2['readMember'][msg.to]\n                    except:\n                        pass\n                    wait2['readPoint'][msg.to] = msg.id\n                    wait2['readMember'][msg.to] = \"\"\n                    wait2['ROM'][msg.to] = {}\n                    print wait2\n            elif msg.text == \"$read\":\n                    if msg.to in wait2['readPoint']:\n                        if wait2[\"ROM\"][msg.to].items() == []:\n                            chiya = \"\"\n                        else:\n                            chiya = \"\"\n                            for rom in wait2[\"ROM\"][msg.to].items():\n                                print rom\n                                chiya += rom[1] + \"\\n\"\n\n                        cl.sendText(msg.to, \"People who readed %s\\nthat's it\\n\\nPeople who have ignored reads\\n%sIt is abnormal ♪\\n\\nReading point creation date n time:\\n[%s]\"  % (wait2['readMember'][msg.to],chiya,setTime[msg.to]))\n                    else:\n                        cl.sendText(msg.to, \"An already read point has not been set.\\n「set」you can send ♪ read point will be created ♪\")\n#-----------------------------------------------\n\n#-----------------------------------------------\n\n            elif msg.text in [\"All join\"]:\n                        G = cl.getGroup(msg.to)\n                        ginfo = cl.getGroup(msg.to)\n                        G.preventJoinByTicket = False\n                        cl.updateGroup(G)\n                        invsend = 0\n                        Ticket = cl.reissueGroupTicket(msg.to)\n                        ki.acceptGroupInvitationByTicket(msg.to,Ticket)\n                        time.sleep(0.2)\n                        kk.acceptGroupInvitationByTicket(msg.to,Ticket)\n                        time.sleep(0.2)\n                        kc.acceptGroupInvitationByTicket(msg.to,Ticket)\n                        time.sleep(0.2)\n                        G = cl.getGroup(msg.to)\n                        G.preventJoinByTicket = True\n                        ki.updateGroup(G)\n                        print \"kicker ok\"\n                        G.preventJoinByTicket(G)\n                        ki.updateGroup(G)\n\n            elif msg.text in [\"Cv1 join\"]:\n                  X = cl.getGroup(msg.to)\n                  X.preventJoinByTicket = False\n                  cl.updateGroup(X)\n                  invsend = 0\n                  Ti = cl.reissueGroupTicket(msg.to)\n                  ki.acceptGroupInvitationByTicket(msg.to,Ti)\n                  G = kk.getGroup(msg.to)\n                  G.preventJoinByTicket = True\n                  ki.updateGroup(G)\n                  Ticket = kk.reissueGroupTicket(msg.to)\n\n            elif msg.text in [\"Cv2 join\"]:\n                  X = cl.getGroup(msg.to)\n                  X.preventJoinByTicket = False\n                  cl.updateGroup(X)\n                  invsend = 0\n                  Ti = cl.reissueGroupTicket(msg.to)\n                  kk.acceptGroupInvitationByTicket(msg.to,Ti)\n                  G = ki.getGroup(msg.to)\n                  G.preventJoinByTicket = True\n                  kk.updateGroup(G)\n                  Ticket = kk.reissueGroupTicket(msg.to)\n\n#-----------------------------------------------\n#.acceptGroupInvitationByTicket(msg.to,Ticket)\n            elif msg.text in [\"Cv3 join\"]:\n                        G = cl.getGroup(msg.to)\n                        ginfo = cl.getGroup(msg.to)\n                        G.preventJoinByTicket = False\n                        cl.updateGroup(G)\n                        invsend = 0\n                        Ticket = cl.reissueGroupTicket(msg.to)\n                        kc.acceptGroupInvitationByTicket(msg.to,Ticket)\n                        print \"kicker ok\"\n                        G.preventJoinByTicket = True\n                        kc.updateGroup(G)\n#-----------------------------------------------\n            elif msg.text in [\"Bye all\"]:\n                if msg.toType == 2:\n                    ginfo = cl.getGroup(msg.to)\n                    try:\n                        ki.leaveGroup(msg.to)\n                        kk.leaveGroup(msg.to)\n                        kc.leaveGroup(msg.to)\n                    except:\n                        pass\n            elif msg.text in [\"Bye 1\"]:\n                if msg.toType == 2:\n                    ginfo = cl.getGroup(msg.to)\n                    try:\n                        ki.leaveGroup(msg.to)\n                    except:\n                        pass\n            elif msg.text in [\"Bye 2\"]:\n                if msg.toType == 2:\n                    ginfo = cl.getGroup(msg.to)\n                    try:\n                        ki.leaveGroup(msg.to)\n                        kk.leaveGroup(msg.to)\n                    except:\n                        pass\n            elif msg.text in [\"Cv1 @bye\"]:\n                if msg.toType == 2:\n                    ginfo = cl.getGroup(msg.to)\n                    try:\n                        ki.leaveGroup(msg.to)\n                    except:\n                        pass\n            elif msg.text in [\"Cv2 @bye\"]:\n                if msg.toType == 2:\n                    ginfo = cl.getGroup(msg.to)\n                    try:\n                        kk.leaveGroup(msg.to)\n                    except:\n                        pass\n            elif msg.text in [\"Cv3 @bye\"]:\n                if msg.toType == 2:\n                    ginfo = cl.getGroup(msg.to)\n                    try:\n                        kc.leaveGroup(msg.to)\n                    except:\n                        pass\n#-----------------------------------------------\n            elif msg.text in [\"Tg\",\"Tag all\"]:\n                group = cl.getGroup(msg.to)\n                jw = [contact.mid for contact in group.members]\n                cb = \"\"\n                cb2 = \"\"\n                strt = int(0)\n                akh = int(0)\n                for rs in jw:\n                    xname = cl.getContact(rs).displayName\n                    xlen = int(len('x')+1)\n                    akh = akh + xlen\n                    cb += \"\"\"{\"S\":\"\"\"+json.dumps(str(strt))+\"\"\",\"E\":\"\"\"+json.dumps(str(akh))+\"\"\",\"M\":\"\"\"+json.dumps(rs)+\"},\"\"\"\n                    strt = strt + int(len('x')+3)\n                    akh = akh + 2\n                    cb2 += \"@x \\n\"\n                cb = (cb[:int(len(cb)-1)])\n                msg.contentType = 0\n                msg.text = cb2\n                msg.contentMetadata ={'MENTION':'{\"MENTIONEES\":['+cb+']}','EMTVER':'d'}\n                try:\n                    cl.sendMessage(msg)\n                except Exception as error:\n                    print error\n\n#-----------------------------------------------\n            elif msg.text in [\"Kill\"]:\n                if msg.toType == 2:\n                    group = ki.getGroup(msg.to)\n                    gMembMids = [contact.mid for contact in group.members]\n                    matched_list = []\n                    for tag in wait[\"blacklist\"]:\n                        matched_list+=filter(lambda str: str == tag, gMembMids)\n                    if matched_list == []:\n                        kk.sendText(msg.to,\"Fuck You\")\n                        kc.sendText(msg.to,\"Fuck You\")\n                        return\n                    for jj in matched_list:\n                        try:\n                            klist=[ki,kk,kc]\n                            kicker=random.choice(klist)\n                            kicker.kickoutFromGroup(msg.to,[jj])\n                            print (msg.to,[jj])\n                        except:\n                            pass\n            elif \"Cleanse\" in msg.text:\n                if msg.toType == 2:\n                    print \"ok\"\n                    _name = msg.text.replace(\"Cleanse\",\"\")\n                    gs = ki.getGroup(msg.to)\n                    gs = kk.getGroup(msg.to)\n                    gs = kc.getGroup(msg.to)\n                    ki.sendText(msg.to,\"Just some casual cleansing ô\")\n                    kk.sendText(msg.to,\"Group cleansed.\")\n                    kc.sendText(msg.to,\"Fuck You All\")\n                    targets = []\n                    for g in gs.members:\n                        if _name in g.displayName:\n                            targets.append(g.mid)\n                    if targets == []:\n                        ki.sendText(msg.to,\"Not found.\")\n                        kk.sendText(msg.to,\"Not found.\")\n                        kc.sendText(msg.to,\"Not found.\")\n                    else:\n                        for target in targets:\n                            try:\n                                klist=[ki,kk,kc]\n                                kicker=random.choice(klist)\n                                kicker.kickoutFromGroup(msg.to,[target])\n                                print (msg.to,[g.mid])\n                            except:\n                                ki.sendText(msg.to,\"Group cleanse\")\n                                kk.sendText(msg.to,\"Group cleanse\")\n                                kc.sendText(msg.to,\"Group cleanse\")\n            elif \"Nk \" in msg.text:\n                  if msg.from_ in admin:\n                       nk0 = msg.text.replace(\"Nk \",\"\")\n                       nk1 = nk0.lstrip()\n                       nk2 = nk1.replace(\"@\",\"\")\n                       nk3 = nk2.rstrip()\n                       _name = nk3\n                       gs = cl.getGroup(msg.to)\n                       targets = []\n                       for s in gs.members:\n                           if _name in s.displayName:\n                              targets.append(s.mid)\n                       if targets == []:\n                           sendMessage(msg.to,\"user does not exist\")\n                           pass\n                       else:\n                           for target in targets:\n                                try:\n                                    klist=[cl,ki,kk,kc]\n                                    kicker=random.choice(klist)\n                                    kicker.kickoutFromGroup(msg.to,[target])\n                                    print (msg.to,[g.mid])\n                                except:\n                                    ki.sendText(msg.to,\"Succes Cv\")\n                                    kk.sendText(msg.to,\"Fuck You\")\n            elif \"Blacklist @ \" in msg.text:\n                _name = msg.text.replace(\"Blacklist @ \",\"\")\n                _kicktarget = _name.rstrip(' ')\n                gs = ki2.getGroup(msg.to)\n                targets = []\n                for g in gs.members:\n                    if _kicktarget == g.displayName:\n                        targets.append(g.mid)\n                        if targets == []:\n                            cl.sendText(msg.to,\"Not found\")\n                        else:\n                            for target in targets:\n                                try:\n                                    wait[\"blacklist\"][target] = True\n                                    f=codecs.open('st2__b.json','w','utf-8')\n                                    json.dump(wait[\"blacklist\"], f, sort_keys=True, indent=4,ensure_ascii=False)\n                                    k3.sendText(msg.to,\"Succes Cv\")\n                                except:\n                                    ki.sendText(msg.to,\"error\")\n            elif \"Ban @\" in msg.text:\n                if msg.toType == 2:\n                    print \"[Ban]ok\"\n                    _name = msg.text.replace(\"Ban @\",\"\")\n                    _nametarget = _name.rstrip('  ')\n                    gs = ki.getGroup(msg.to)\n                    gs = kk.getGroup(msg.to)\n                    gs = kc.getGroup(msg.to)\n                    targets = []\n                    for g in gs.members:\n                        if _nametarget == g.displayName:\n                            targets.append(g.mid)\n                    if targets == []:\n                        ki.sendText(msg.to,\"Not found Cv\")\n                        kk.sendText(msg.to,\"Not found Cv\")\n                        kc.sendText(msg.to,\"Not found Cv\")\n                    else:\n                        for target in targets:\n                            try:\n                                wait[\"blacklist\"][target] = True\n                                f=codecs.open('st2__b.json','w','utf-8')\n                                json.dump(wait[\"blacklist\"], f, sort_keys=True, indent=4,ensure_ascii=False)\n                                cl.sendText(msg.to,\"Succes Cv\")\n                                ki.sendText(msg.to,\"Succes Cv\")\n                                kk.sendText(msg.to,\"Succes Cv\")\n                                kc.sendText(msg.to,\"Succes Cv\")\n                            except:\n                                ki.sendText(msg.to,\"Error\")\n                                kk.sendText(msg.to,\"Error\")\n                                kc.sendText(msg.to,\"Error\")\n            elif \"Unban @\" in msg.text:\n                if msg.toType == 2:\n                    print \"[Unban]ok\"\n                    _name = msg.text.replace(\"Unban @\",\"\")\n                    _nametarget = _name.rstrip('  ')\n                    gs = ki.getGroup(msg.to)\n                    gs = kk.getGroup(msg.to)\n                    gs = kc.getGroup(msg.to)\n                    targets = []\n                    for g in gs.members:\n                        if _nametarget == g.displayName:\n                            targets.append(g.mid)\n                    if targets == []:\n                        ki.sendText(msg.to,\"Not found Cv\")\n                        kk.sendText(msg.to,\"Not found Cv\")\n                        kc.sendText(msg.to,\"Not found Cv\")\n                    else:\n                        for target in targets:\n                            try:\n                                del wait[\"blacklist\"][target]\n                                f=codecs.open('st2__b.json','w','utf-8')\n                                json.dump(wait[\"blacklist\"], f, sort_keys=True, indent=4,ensure_ascii=False)\n                                cl.sendText(msg.to,\"Succes Cv\")\n                                ki.sendText(msg.to,\"Succes Cv\")\n                                kk.sendText(msg.to,\"Succes Cv\")\n                                kc.sendText(msg.to,\"Succes Cv\")\n                            except:\n                                ki.sendText(msg.to,\"Succes Cv\")\n                                kk.sendText(msg.to,\"Succes Cv\")\n                                kc.sendText(msg.to,\"Succes Cv\")\n#-----------------------------------------------\n            elif msg.text in [\"Test\"]:\n                ki.sendText(msg.to,\"Ok Cv 􀨁􀄻double thumbs up􏿿\")\n                kk.sendText(msg.to,\"Ok Cv 􀨁􀄻double thumbs up􏿿\")\n                kc.sendText(msg.to,\"Ok Cv 􀨁􀄻double thumbs up􏿿\")\n#-----------------------------------------------\n            elif \"Bc \" in msg.text:\n\t\t\t\tbctxt = msg.text.replace(\"Bc \",\"\")\n\t\t\t\tki.sendText(msg.to,(bctxt))\n\t\t\t\tkk.sendText(msg.to,(bctxt))\n\t\t\t\tkc.sendText(msg.to,(bctxt))\n#-----------------------------------------------\n\n            elif msg.text in [\"Cv say hi\"]:\n                ki.sendText(msg.to,\"Hi buddy 􀜁􀅔Har Har􏿿\")\n                kk.sendText(msg.to,\"Hi buddy 􀜁􀅔Har Har􏿿\")\n                kc.sendText(msg.to,\"Hi buddy 􀜁􀅔Har Har􏿿\")\n\n#-----------------------------------------------\n\n            elif msg.text in [\"Cv say hinata pekok\"]:\n                ki.sendText(msg.to,\"Hinata pekok 􀜁􀅔Har Har􏿿\")\n                kk.sendText(msg.to,\"Hinata pekok 􀜁􀅔Har Har􏿿\")\n                kc.sendText(msg.to,\"Hinata pekok 􀜁􀅔Har Har􏿿\")\n            elif msg.text in [\"Cv say didik pekok\"]:\n                ki.sendText(msg.to,\"Didik pekok 􀜁􀅔Har Har􏿿\")\n                kk.sendText(msg.to,\"Didik pekok 􀜁􀅔Har Har􏿿\")\n                kc.sendText(msg.to,\"Didik pekok 􀜁􀅔Har Har􏿿\")\n            elif msg.text in [\"Cv say bobo ah\",\"Bobo dulu ah\"]:\n                ki.sendText(msg.to,\"Have a nice dream Cv 􀜁􀅔Har Har􏿿\")\n                kk.sendText(msg.to,\"Have a nice dream Cv 􀜁􀅔Har Har􏿿\")\n                kc.sendText(msg.to,\"Have a nice dream Cv 􀜁􀅔Har Har􏿿\")\n            elif msg.text in [\"Cv say chomel pekok\"]:\n                ki.sendText(msg.to,\"Chomel pekok 􀜁􀅔Har Har􏿿\")\n                kk.sendText(msg.to,\"Chomel pekok 􀜁􀅔Har Har􏿿\")\n                kc.sendText(msg.to,\"Chomel pekok 􀜁􀅔Har Har􏿿\")\n            elif msg.text in [\"#welcome\"]:\n                ki.sendText(msg.to,\"Selamat datang di Chivas Family Room\")\n                kk.sendText(msg.to,\"Jangan nakal ok!\")\n#-----------------------------------------------\n            elif msg.text in [\"PING\",\"Ping\",\"ping\"]:\n                ki.sendText(msg.to,\"PONG 􀨁􀄻double thumbs up􏿿􀜁􀅔Har Har􏿿\")\n                kk.sendText(msg.to,\"PONG 􀨁􀄻double thumbs up􏿿􀜁􀅔Har Har􏿿\")\n                kc.sendText(msg.to,\"PONG 􀨁􀄻double thumbs up􏿿􀜁􀅔Har Har􏿿\")\n#-----------------------------------------------\n            elif msg.text in [\"Respon\",\"respon\"]:\n                ki.sendText(msg.to,\"Cv1\")\n                kk.sendText(msg.to,\"Cv2\")\n                kc.sendText(msg.to,\"Cv3\")\n#-----------------------------------------------\n\n            elif msg.text in [\"Sp\",\"Speed\",\"speed\"]:\n                start = time.time()\n                cl.sendText(msg.to, \"Progress...\")\n                elapsed_time = time.time() - start\n                cl.sendText(msg.to, \"%sseconds\" % (elapsed_time))\n                ki.sendText(msg.to, \"%sseconds\" % (elapsed_time))\n                kk.sendText(msg.to, \"%sseconds\" % (elapsed_time))\n                kc.sendText(msg.to, \"%sseconds\" % (elapsed_time))\n\n#------------------------------------------------------------------\t\n            elif \"Steal home @\" in msg.text:            \n                print \"[Command]dp executing\"\n                _name = msg.text.replace(\"Steal home @\",\"\")\n                _nametarget = _name.rstrip('  ')\n                gs = cl.getGroup(msg.to)\n                targets = []\n                for g in gs.members:\n                    if _nametarget == g.displayName:\n                        targets.append(g.mid)\n                if targets == []:\n                    ki.sendText(msg.to,\"Contact not found\")\n                else:\n                    for target in targets:\n                        try:\n                            contact = cl.getContact(target)\n                            cu = cl.channel.getCover(target)\n                            path = str(cu)\n                            cl.sendImageWithURL(msg.to, path)\n                        except:\n                            pass\n                print \"[Command]dp executed\"\t\t\t\n#------------------------------------------------------------------\n            elif \"Steal dp @\" in msg.text:            \n                print \"[Command]dp executing\"\n                _name = msg.text.replace(\"Steal dp @\",\"\")\n                _nametarget = _name.rstrip('  ')\n                gs = cl.getGroup(msg.to)\n                targets = []\n                for g in gs.members:\n                    if _nametarget == g.displayName:\n                        targets.append(g.mid)\n                if targets == []:\n                    ki.sendText(msg.to,\"Contact not found\")\n                else:\n                    for target in targets:\n                        try:\n                            contact = cl.getContact(target)\n                            path = \"http://dl.profile.line-cdn.net/\" + contact.pictureStatus\n                            cl.sendImageWithURL(msg.to, path)\n                        except:\n                            pass\n                print \"[Command]dp executed\"\t\t\t\n#------------------------------------------------------------------\n            elif msg.text in [\"Ban\"]:\n                wait[\"wblacklist\"] = True\n                cl.sendText(msg.to,\"send contact\")\n                ki.sendText(msg.to,\"send contact\")\n                kk.sendText(msg.to,\"send contact\")\n                kc.sendText(msg.to,\"send contact\")\n            elif msg.text in [\"Unban\"]:\n                wait[\"dblacklist\"] = True\n                cl.sendText(msg.to,\"send contact\")\n                ki.sendText(msg.to,\"send contact\")\n                kk.sendText(msg.to,\"send contact\")\n                kc.sendText(msg.to,\"send contact\")\n            elif msg.text in [\"Banlist\"]:\n                if wait[\"blacklist\"] == {}:\n                    cl.sendText(msg.to,\"nothing\")\n                    ki.sendText(msg.to,\"nothing\")\n                    kk.sendText(msg.to,\"nothing\")\n                    kc.sendText(msg.to,\"nothing\")\n                else:\n                    cl.sendText(msg.to,\"Blacklist user\")\n                    mc = \"\"\n                    for mi_d in wait[\"blacklist\"]:\n                        mc += \"->\" +cl.getContact(mi_d).displayName + \"\\n\"\n                    cl.sendText(msg.to,mc)\n                    ki.sendText(msg.to,mc)\n                    kk.sendText(msg.to,mc)\n                    kc.sendText(msg.to,mc)\n            elif msg.text in [\"Cek ban\"]:\n                if msg.toType == 2:\n                    group = cl.getGroup(msg.to)\n                    gMembMids = [contact.mid for contact in group.members]\n                    matched_list = []\n                    for tag in wait[\"blacklist\"]:\n                        matched_list+=filter(lambda str: str == tag, gMembMids)\n                    cocoa = \"\"\n                    for mm in matched_list:\n                        cocoa += mm + \"\\n\"\n                    cl.sendText(msg.to,cocoa + \"\")\n            elif msg.text in [\"Kill ban\"]:\n                if msg.toType == 2:\n                    group = cl.getGroup(msg.to)\n                    gMembMids = [contact.mid for contact in group.members]\n                    matched_list = []\n                    for tag in wait[\"blacklist\"]:\n                        matched_list+=filter(lambda str: str == tag, gMembMids)\n                    if matched_list == []:\n                        cl.sendText(msg.to,\"There was no blacklist user\")\n                        ki.sendText(msg.to,\"There was no blacklist user\")\n                        kk.sendText(msg.to,\"There was no blacklist user\")\n                        kc.sendText(msg.to,\"There was no blacklist user\")\n                        return\n                    for jj in matched_list:\n                        cl.kickoutFromGroup(msg.to,[jj])\n                        ki.kickoutFromGroup(msg.to,[jj])\n                        kk.kickoutFromGroup(msg.to,[jj])\n                        kc.kickoutFromGroup(msg.to,[jj])\n                    cl.sendText(msg.to,\"Blacklist emang pantas tuk di usir\")\n                    ki.sendText(msg.to,\"Blacklist emang pantas tuk di usir\")\n                    kk.sendText(msg.to,\"Blacklist emang pantas tuk di usir\")\n                    kc.sendText(msg.to,\"Blacklist emang pantas tuk di usir\")\n            elif msg.text in [\"Clear\"]:\n                if msg.toType == 2:\n                    group = cl.getGroup(msg.to)\n                    gMembMids = [contact.mid for contact in group.invitee]\n                    for _mid in gMembMids:\n                        cl.cancelGroupInvitation(msg.to,[_mid])\n                    cl.sendText(msg.to,\"I pretended to cancel and canceled.\")\n            elif \"random:\" in msg.text:\n                if msg.toType == 2:\n                    strnum = msg.text.replace(\"random:\",\"\")\n                    source_str = 'abcdefghijklmnopqrstuvwxyz1234567890@:;./_][!&%$#)(=~^|'\n                    try:\n                        num = int(strnum)\n                        group = cl.getGroup(msg.to)\n                        for var in range(0,num):\n                            name = \"\".join([random.choice(source_str) for x in xrange(10)])\n                            time.sleep(0.01)\n                            group.name = name\n                            cl.updateGroup(group)\n                    except:\n                        cl.sendText(msg.to,\"Error\")\t\n\t\t\t\t\n            elif \"albumâ†’\" in msg.text:\n                try:\n                    albumtags = msg.text.replace(\"albumâ†’\",\"\")\n                    gid = albumtags[:6]\n                    name = albumtags.replace(albumtags[:34],\"\")\n                    cl.createAlbum(gid,name)\n                    cl.sendText(msg.to,name + \"created an album\")\n                except:\n                    cl.sendText(msg.to,\"Error\")\n            elif \"fakecâ†’\" in msg.text:\n                try:\n                    source_str = 'abcdefghijklmnopqrstuvwxyz1234567890@:;./_][!&%$#)(=~^|'\n                    name = \"\".join([random.choice(source_str) for x in xrange(10)])\n                    anu = msg.text.replace(\"fakecâ†’\",\"\")\n                    cl.sendText(msg.to,str(cl.channel.createAlbum(msg.to,name,anu)))\n                except Exception as e:\n                    try:\n                        cl.sendText(msg.to,str(e))\n                    except:\n                        pass\t\t\t\n        if op.type == 59:\n            print op\n\n\n    except Exception as error:\n        print error\n\n\ndef a2():\n    now2 = datetime.now()\n    nowT = datetime.strftime(now2,\"%M\")\n    if nowT[14:] in [\"10\",\"20\",\"30\",\"40\",\"50\",\"00\"]:\n        return False\n    else:\n        return True\n\ndef nameUpdate():\n    while True:\n        try:\n        #while a2():\n            #pass\n            if wait[\"clock\"] == True:\n                now2 = datetime.now()\n                nowT = datetime.strftime(now2,\"(%H:%M)\")\n                profile = cl.getProfile()\n                profile.displayName = wait[\"cName\"] + nowT\n                cl.updateProfile(profile)\n            time.sleep(600)\n        except:\n            pass\nthread2 = threading.Thread(target=nameUpdate)\nthread2.daemon = True\nthread2.start()\n\nwhile True:\n    try:\n        Ops = cl.fetchOps(cl.Poll.rev, 5)\n    except EOFError:\n        raise Exception(\"It might be wrong revision\\n\" + str(cl.Poll.rev))\n\n    for Op in Ops:\n        if (Op.type != OpType.END_OF_OPERATION):\n            cl.Poll.rev = max(cl.Poll.rev, Op.revision)\n            bot(Op)\n"
  }
]